← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 2572: add the file icon to "View as text" windows

 

------------------------------------------------------------
revno: 2572
committer: poy <poy@xxxxxxxxxx>
branch nick: trunk
timestamp: Mon 2011-06-27 18:46:13 +0200
message:
  add the file icon to "View as text" windows
modified:
  win32/FinishedFrameBase.h
  win32/MDIChildFrame.h
  win32/QueueFrame.h
  win32/SearchFrame.cpp
  win32/SystemFrame.cpp
  win32/TextFrame.cpp
  win32/TextFrame.h
  win32/TransferView.cpp
  win32/WinUtil.cpp
  win32/WinUtil.h


--
lp:dcplusplus
https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk

Your team Dcplusplus-team is subscribed to branch lp:dcplusplus.
To unsubscribe from this branch go to https://code.launchpad.net/~dcplusplus-team/dcplusplus/trunk/+edit-subscription
=== modified file 'win32/FinishedFrameBase.h'
--- win32/FinishedFrameBase.h	2011-05-31 17:39:38 +0000
+++ win32/FinishedFrameBase.h	2011-06-27 16:46:13 +0000
@@ -266,7 +266,7 @@
 			return columns[col];
 		}
 		int getImage(int col) const {
-			return col == 0 ? WinUtil::getFileIcon(Text::toT(file)) : -1;
+			return col == 0 ? WinUtil::getFileIcon(file) : -1;
 		}
 
 		static int compareItems(FileInfo* a, FileInfo* b, int col) {

=== modified file 'win32/MDIChildFrame.h'
--- win32/MDIChildFrame.h	2011-05-04 19:32:00 +0000
+++ win32/MDIChildFrame.h	2011-06-27 16:46:13 +0000
@@ -128,8 +128,11 @@
 		return static_cast<TabViewPtr>(BaseType::getParent());
 	}
 
+	void setIcon(dwt::IconPtr icon) {
+		getParent()->setIcon(this, icon);
+	}
 	void setIcon(unsigned iconId) {
-		getParent()->setIcon(this, WinUtil::tabIcon(iconId));
+		setIcon(WinUtil::tabIcon(iconId));
 	}
 
 	static bool parseActivateParam(const WindowParams& params) {

=== modified file 'win32/QueueFrame.h'
--- win32/QueueFrame.h	2011-06-19 18:17:09 +0000
+++ win32/QueueFrame.h	2011-06-27 16:46:13 +0000
@@ -135,7 +135,7 @@
 		}
 
 		int getImage(int col) const {
-			return col == 0 ? WinUtil::getFileIcon(Text::toT(getTarget())) : -1;
+			return col == 0 ? WinUtil::getFileIcon(getTarget()) : -1;
 		}
 
 		static int compareItems(QueueItemInfo* a, QueueItemInfo* b, int col) {

=== modified file 'win32/SearchFrame.cpp'
--- win32/SearchFrame.cpp	2011-05-04 19:32:00 +0000
+++ win32/SearchFrame.cpp	2011-06-27 16:46:13 +0000
@@ -67,7 +67,7 @@
 	}
 
 	const SearchResultPtr& sr = srs[0];
-	return sr->getType() == SearchResult::TYPE_FILE ? WinUtil::getFileIcon(Text::toT(sr->getFile())) : WinUtil::DIR_ICON;
+	return sr->getType() == SearchResult::TYPE_FILE ? WinUtil::getFileIcon(sr->getFile()) : WinUtil::DIR_ICON;
 }
 
 int SearchFrame::SearchInfo::compareItems(SearchInfo* a, SearchInfo* b, int col) {

=== modified file 'win32/SystemFrame.cpp'
--- win32/SystemFrame.cpp	2011-05-04 19:32:00 +0000
+++ win32/SystemFrame.cpp	2011-06-27 16:46:13 +0000
@@ -100,7 +100,7 @@
 	string path_a = Text::fromT(path);
 	if(File::getSize(path_a) != -1) {
 		ShellMenuPtr menu = addChild(ShellMenu::Seed());
-		menu->setTitle(escapeMenu(path), WinUtil::fileImages->getIcon(WinUtil::getFileIcon(path)));
+		menu->setTitle(escapeMenu(path), WinUtil::fileImages->getIcon(WinUtil::getFileIcon(path_a)));
 		menu->appendItem(T_("&Open"), [path] { WinUtil::openFile(path); }, dwt::IconPtr(), true, true);
 		menu->appendItem(T_("Open &folder"), [path] { WinUtil::openFolder(path); });
 		menu->appendShellMenu(StringList(1, path_a));

=== modified file 'win32/TextFrame.cpp'
--- win32/TextFrame.cpp	2011-06-27 16:02:40 +0000
+++ win32/TextFrame.cpp	2011-06-27 16:46:13 +0000
@@ -24,6 +24,8 @@
 #include <dcpp/Text.h>
 #include <dcpp/WindowInfo.h>
 
+#include "WinUtil.h"
+
 const string TextFrame::id = "Text";
 const string& TextFrame::getId() const { return id; }
 
@@ -35,7 +37,7 @@
 
 WindowParams TextFrame::getWindowParams() const {
 	WindowParams ret;
-	ret["Path"] = WindowParam(fileName, WindowParam::FLAG_IDENTIFIES);
+	ret["Path"] = WindowParam(path, WindowParam::FLAG_IDENTIFIES);
 	return ret;
 }
 
@@ -46,11 +48,13 @@
 	}
 }
 
-TextFrame::TextFrame(TabViewPtr parent, const string& fileName) :
-BaseType(parent, Text::toT(Util::getFileName(fileName))),
+TextFrame::TextFrame(TabViewPtr parent, const string& path) :
+BaseType(parent, Text::toT(Util::getFileName(path))),
 pad(0),
-fileName(fileName)
+path(path)
 {
+	setIcon(WinUtil::fileImages->getIcon(WinUtil::getFileIcon(path)));
+
 	TextBox::Seed cs = WinUtil::Seeds::textBox;
 	cs.style |= WS_VSCROLL | ES_AUTOVSCROLL | ES_MULTILINE | ES_NOHIDESEL | ES_READONLY;
 	cs.font = WinUtil::monoFont;
@@ -60,7 +64,7 @@
 	pad->setTextLimit(0);
 
 	try {
-		pad->setText(Text::toT(Text::toDOS(File(fileName, File::READ, File::OPEN).read(MAX_TEXT_LEN))));
+		pad->setText(Text::toT(Text::toDOS(File(path, File::READ, File::OPEN).read(MAX_TEXT_LEN))));
 	} catch(const FileException& e) {
 		pad->setText(Text::toT(e.getError()));
 	}

=== modified file 'win32/TextFrame.h'
--- win32/TextFrame.h	2011-06-27 16:02:40 +0000
+++ win32/TextFrame.h	2011-06-27 16:46:13 +0000
@@ -41,13 +41,13 @@
 private:
 	friend class MDIChildFrame<TextFrame>;
 
-	TextFrame(TabViewPtr parent, const string& fileName);
+	TextFrame(TabViewPtr parent, const string& path);
 	virtual ~TextFrame() { }
 
 	void layout();
 
 	TextBoxPtr pad;
-	const string fileName;
+	const string path;
 };
 
 #endif

=== modified file 'win32/TransferView.cpp'
--- win32/TransferView.cpp	2011-05-04 19:32:00 +0000
+++ win32/TransferView.cpp	2011-06-27 16:46:13 +0000
@@ -661,7 +661,7 @@
 }
 
 int TransferView::DownloadInfo::getImage(int col) const {
-	return col == 0 ? WinUtil::getFileIcon(Text::toT(path)) : -1;
+	return col == 0 ? WinUtil::getFileIcon(path) : -1;
 }
 
 void TransferView::DownloadInfo::update(const TransferView::TickInfo& ti) {

=== modified file 'win32/WinUtil.cpp'
--- win32/WinUtil.cpp	2011-06-04 18:26:04 +0000
+++ win32/WinUtil.cpp	2011-06-27 16:46:13 +0000
@@ -626,9 +626,9 @@
 	return formatHubNames(ClientManager::getInstance()->getHubNames(cid, hintUrl, priv));
 }
 
-size_t WinUtil::getFileIcon(const tstring& aFileName) {
+size_t WinUtil::getFileIcon(const string& fileName) {
 	if(BOOLSETTING(USE_SYSTEM_ICONS)) {
-		string ext = Text::toLower(Util::getFileExt(Text::fromT(aFileName)));
+		string ext = Text::toLower(Util::getFileExt(fileName));
 		if(!ext.empty()) {
 			auto index = fileIndexes.find(ext);
 			if(index != fileIndexes.end())
@@ -636,7 +636,7 @@
 		}
 
 		::SHFILEINFO info;
-		if(::SHGetFileInfo(Text::toT(Text::toLower(Util::getFileName(Text::fromT(aFileName)))).c_str(), FILE_ATTRIBUTE_NORMAL,
+		if(::SHGetFileInfo(Text::toT(Text::toLower(Util::getFileName(fileName))).c_str(), FILE_ATTRIBUTE_NORMAL,
 			&info, sizeof(info), SHGFI_ICON | SHGFI_SMALLICON | SHGFI_USEFILEATTRIBUTES) && info.hIcon)
 		{
 			size_t ret = fileImages->size();
@@ -652,6 +652,10 @@
 	return FILE_ICON_GENERIC;
 }
 
+size_t WinUtil::getFileIcon(const tstring& fileName) {
+	return getFileIcon(Text::fromT(fileName));
+}
+
 void WinUtil::reducePaths(string& message) {
 	string::size_type start = 0;
 	while((start = message.find('<', start)) != string::npos) {

=== modified file 'win32/WinUtil.h'
--- win32/WinUtil.h	2011-05-29 21:40:28 +0000
+++ win32/WinUtil.h	2011-06-27 16:46:13 +0000
@@ -226,7 +226,8 @@
 		return ret;
 	}
 
-	static size_t getFileIcon(const tstring& aFileName);
+	static size_t getFileIcon(const string& fileName);
+	static size_t getFileIcon(const tstring& fileName);
 
 	static bool isShift() { return (::GetKeyState(VK_SHIFT) & 0x8000) > 0; }
 	static bool isAlt() { return (::GetKeyState(VK_MENU) & 0x8000) > 0; }