← Back to team overview

linuxdcpp-team team mailing list archive

[Branch ~dcplusplus-team/dcplusplus/trunk] Rev 3043: no cshelp tooltip when there's no help

 

------------------------------------------------------------
revno: 3043
committer: poy <poy@xxxxxxxxxx>
branch nick: trunk
timestamp: Mon 2012-09-10 20:41:39 +0200
message:
  no cshelp tooltip when there's no help
modified:
  win32/SettingsDialog.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/SettingsDialog.cpp'
--- win32/SettingsDialog.cpp	2012-07-11 17:13:42 +0000
+++ win32/SettingsDialog.cpp	2012-09-10 18:41:39 +0000
@@ -301,7 +301,7 @@
 }
 
 void SettingsDialog::handleChildHelp(dwt::Control* widget) {
-	help->setText(Text::toT(WinUtil::getHelpText(widget->getHelpId())));
+	help->setText(Text::toT(WinUtil::getHelpText(widget->getHelpId()).second));
 }
 
 bool SettingsDialog::handleClosing() {

=== modified file 'win32/WinUtil.cpp'
--- win32/WinUtil.cpp	2012-07-13 18:50:28 +0000
+++ win32/WinUtil.cpp	2012-09-10 18:41:39 +0000
@@ -1052,7 +1052,7 @@
 void WinUtil::helpId(dwt::Control* widget, unsigned id) {
 	if(id >= IDH_CSHELP_BEGIN && id <= IDH_CSHELP_END) {
 		// context-sensitive help
-		new HelpPopup<false>(widget, Text::toT(getHelpText(id)));
+		new HelpPopup<false>(widget, Text::toT(getHelpText(id).second));
 
 	} else {
 #ifdef HAVE_HTMLHELP_H
@@ -1069,7 +1069,10 @@
 	auto id = widget->getHelpId();
 	if(id >= IDH_CSHELP_BEGIN && id <= IDH_CSHELP_END) {
 		// context-sensitive help
-		new HelpPopup<true>(widget, Text::toT(getHelpText(id)), pos);
+		auto text = getHelpText(id);
+		if(text.first) {
+			new HelpPopup<true>(widget, Text::toT(getHelpText(id).second), pos);
+		}
 	}
 }
 
@@ -1080,19 +1083,19 @@
 	}
 }
 
-string WinUtil::getHelpText(unsigned id) {
+pair<bool, string> WinUtil::getHelpText(unsigned id) {
 	if(id >= IDH_CSHELP_BEGIN) {
 		id -= IDH_CSHELP_BEGIN;
 
 		if(id < helpTexts.size()) {
 			const auto& ret = helpTexts[id];
 			if(!ret.empty()) {
-				return ret;
+				return make_pair(true, ret);
 			}
 		}
 	}
 
-	return _("No help information available");
+	return make_pair(false, _("No help information available"));
 }
 
 void WinUtil::toInts(const string& str, std::vector<int>& array) {

=== modified file 'win32/WinUtil.h'
--- win32/WinUtil.h	2012-07-07 16:36:41 +0000
+++ win32/WinUtil.h	2012-09-10 18:41:39 +0000
@@ -297,7 +297,7 @@
 	static void helpId(dwt::Control* widget, unsigned id);
 	static void helpTooltip(dwt::Control* widget, const dwt::Point& pos);
 	static void killHelpTooltip();
-	static string getHelpText(unsigned id);
+	static pair<bool, string> getHelpText(unsigned id);
 
 	// URL related
 	static void registerHubHandlers();