Changeset 3002
- Timestamp:
- 06/11/06 06:18:41 (3 years ago)
- Files:
-
- hydranode/hngui/Jamfile (modified) (3 diffs)
- hydranode/hngui/main.cpp (modified) (13 diffs)
- hydranode/hngui/main.h (modified) (2 diffs)
- hydranode/hngui/trayicon.cpp (added)
- hydranode/hngui/trayicon.h (added)
- hydranode/hngui/trayicon_mac.cpp (added)
- hydranode/hngui/trayicon_win.cpp (added)
- hydranode/hngui/trayicon_x11.cpp (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
hydranode/hngui/Jamfile
r2994 r3002 4 4 local extrasrc ; 5 5 if [ os.name ] = NT { 6 extrasrc = gui.rc ; 6 lib gdi : : <name>gdi32 ; 7 lib ole : : <name>ole32 ; 8 extrasrc = gui.rc trayicon_win.cpp gdi ; 7 9 } 8 10 9 exe hydranode-gui : # gui layouts 11 exe hydranode-gui : 12 # gui layouts 10 13 mainlayout.ui 11 14 transfercontent.ui searchcontent.ui librarycontent.ui … … 14 17 pagetemplate.ui home_homeactions.ui home_homepage.ui catdialog.ui 15 18 commentframe.ui 19 16 20 # gui code 17 21 downloadlist.cpp downloadlist.h … … 29 33 myhydra.cpp myhydra.h 30 34 customheader.cpp customheader.h 35 31 36 # gui resources 32 gui.qrc $(extrasrc) 37 gui.qrc 38 33 39 # extra sources 34 40 ../hncgcomm/cgcomm.cpp ../hncgcomm/utils.cpp ecomm.cpp ecomm.h 35 filetypes.cpp 41 filetypes.cpp trayicon.cpp trayicon.h 42 36 43 # dependancies 37 44 /qt4//QtGui /qt4//QtNetwork /qt4//QtXml 38 45 ../extra//boost_signals ../extra//boost_date_time 39 46 40 47 # plugins (built-in currently due to lack of support for plugin loading) 41 48 plugins/donkeypage.cpp plugins/donkeypage.h plugins/donkeypage_ui.ui 49 50 # platform-specific sources 51 $(extrasrc) 42 52 : <include>. 43 53 <define>QT_NO_KEYWORDS 44 54 <variant>release:<define>QT_NO_DEBUG 45 55 <variant>profile:<define>QT_NO_DEBUG 56 <toolset>msvc,<variant>debug:<linkflags>/NODEFAULTLIB:libcmtd.lib 57 <toolset>msvc,<variant>release:<linkflags>/NODEFAULTLIB:libcmt.lib 46 58 ; 47 59 hydranode/hngui/main.cpp
r2995 r3002 26 26 #include "librarytabs.h" 27 27 #include "ecomm.h" 28 #include "trayicon.h" 28 29 #include <QApplication> 29 30 #include <QTextEdit> … … 96 97 } 97 98 98 MainWindow::MainWindow() : m_ecomm(), m_core(), m_ui(), m_corePort(9990), 99 m_showTitle(true) { 99 MainWindow::MainWindow() : m_ecomm(), m_core(), m_ui(), m_tray(), 100 m_corePort(9990), m_showTitle(true) { 101 doLogDebug("Constructing UI..."); 102 100 103 m_splash = new Splash(QPixmap(imgDir() + "splash.png")); 101 104 connect( … … 150 153 151 154 void MainWindow::initConfig() { 155 doLogDebug("Initializing configuration..."); 156 152 157 QSettings conf(confDir() + "gui.ini", QSettings::IniFormat); 153 158 if (!conf.contains("EnableBack")) { … … 167 172 void MainWindow::initGui() { 168 173 initConfig(); 174 doLogDebug("Initializing GUI pages..."); 169 175 170 176 m_ui = new Ui::MainLayout; … … 196 202 setWindowTitle("Hydranode"); 197 203 setWindowIcon(QIcon(":/hydranode.png")); 204 205 QMenu *menu = new QMenu(this); 206 menu->addAction("Quit", this, SLOT(close())); 207 m_tray = new TrayIcon(0, "Hydranode"); 208 m_tray->setIcon(QPixmap("hydranode.png")); 209 m_tray->setPopup(menu); 198 210 199 211 QSettings conf(confDir() + "gui.ini", QSettings::IniFormat); … … 343 355 344 356 void MainWindow::initData() { 345 qDebug("Engine connection up and running."); 357 doLogDebug("Initializing data..."); 358 346 359 engineConnection(true); 347 360 if (m_splash) { 348 361 m_splash->finish(this); 349 362 } 363 // if (m_tray) { 364 // m_tray->show(); 365 // } 350 366 show(); 351 367 if (m_splash) { … … 361 377 ); 362 378 } 379 doLogDebug("Testing for running core..."); 363 380 QTcpSocket s(this); 364 381 s.connectToHost(url, port); … … 375 392 ); 376 393 } 394 395 doLogDebug("No running core found; starting core process..."); 377 396 m_core = new QProcess(this); 378 397 m_core->setReadChannelMode(QProcess::MergedChannels); … … 428 447 ); 429 448 } 449 doLogDebug("Initializing core/gui communication..."); 450 430 451 m_ecomm = new EngineComm; 431 452 connect(m_ecomm, SIGNAL(connectionEstablished()), SLOT(initData())); … … 461 482 462 483 void MainWindow::coreDied(QProcess::ProcessError err) { 463 qDebug("Core process died.");484 doLogDebug("Core process died."); 464 485 QString errorMsg; 465 486 if (err == QProcess::FailedToStart) { … … 495 516 496 517 void MainWindow::coreExited(int exitCode, QProcess::ExitStatus exitStatus) { 518 doLogDebug("Core process finished."); 519 497 520 if (exitStatus != QProcess::NormalExit) { 498 521 QMessageBox::critical( … … 510 533 511 534 void MainWindow::closeEvent(QCloseEvent *e) { 535 doLogDebug("Received main window close event; shutting down."); 536 512 537 if (m_core && m_core->state() == QProcess::Running) { 513 538 // if (!m_splash) { … … 952 977 QMessageBox::NoButton 953 978 ); 979 doLogDebug(std::string("CRITICAL: ") + e.what()); 954 980 return 0; 955 981 } else { hydranode/hngui/main.h
r2969 r3002 39 39 class Splash; 40 40 class QToolButton; 41 class TrayIcon; 41 42 42 43 enum { … … 114 115 115 116 Splash *m_splash; 117 TrayIcon *m_tray; 116 118 int m_corePort; 117 119 QString m_cmdLine; // command-line used for starting core process
