Diffstat (limited to 'noncore/settings/aqpkg/mainwin.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/settings/aqpkg/mainwin.cpp | 51 |
1 files changed, 44 insertions, 7 deletions
diff --git a/noncore/settings/aqpkg/mainwin.cpp b/noncore/settings/aqpkg/mainwin.cpp index b00931e..5e03f11 100644 --- a/noncore/settings/aqpkg/mainwin.cpp +++ b/noncore/settings/aqpkg/mainwin.cpp | |||
@@ -10,28 +10,30 @@ | |||
10 | * * | 10 | * * |
11 | * This program is free software; you can redistribute it and/or modify * | 11 | * This program is free software; you can redistribute it and/or modify * |
12 | * it under the terms of the GNU General Public License as published by * | 12 | * it under the terms of the GNU General Public License as published by * |
13 | * the Free Software Foundation; either version 2 of the License, or * | 13 | * the Free Software Foundation; either version 2 of the License, or * |
14 | * (at your option) any later version. * | 14 | * (at your option) any later version. * |
15 | * * | 15 | * * |
16 | ***************************************************************************/ | 16 | ***************************************************************************/ |
17 | 17 | ||
18 | #include <iostream> | 18 | #include <iostream> |
19 | using namespace std; | 19 | using namespace std; |
20 | 20 | ||
21 | #include <qmenubar.h> | 21 | #include <qmenubar.h> |
22 | #include <qpopupmenu.h> | ||
23 | #include <qmessagebox.h> | 22 | #include <qmessagebox.h> |
23 | #include <qpopupmenu.h> | ||
24 | #include <qtimer.h> | ||
24 | 25 | ||
25 | #include "mainwin.h" | 26 | #include "mainwin.h" |
27 | #include "progresswidget.h" | ||
26 | #include "datamgr.h" | 28 | #include "datamgr.h" |
27 | #include "networkpkgmgr.h" | 29 | #include "networkpkgmgr.h" |
28 | #include "settingsimpl.h" | 30 | #include "settingsimpl.h" |
29 | #include "helpwindow.h" | 31 | #include "helpwindow.h" |
30 | #include "utils.h" | 32 | #include "utils.h" |
31 | #include "global.h" | 33 | #include "global.h" |
32 | 34 | ||
33 | MainWindow :: MainWindow( QWidget *p, char *name ) | 35 | MainWindow :: MainWindow( QWidget *p, char *name ) |
34 | :QMainWindow( p, name ) | 36 | :QMainWindow( p, name ) |
35 | { | 37 | { |
36 | #ifdef QWS | 38 | #ifdef QWS |
37 | showMaximized(); | 39 | showMaximized(); |
@@ -57,39 +59,64 @@ MainWindow :: MainWindow( QWidget *p, char *name ) | |||
57 | mnuShowUpgradedPkgsId = filter->insertItem( "Show U&pdated Packages", this, SLOT(filterUpgradedPackages()), Qt::CTRL+Qt::Key_P ); | 59 | mnuShowUpgradedPkgsId = filter->insertItem( "Show U&pdated Packages", this, SLOT(filterUpgradedPackages()), Qt::CTRL+Qt::Key_P ); |
58 | filter->insertSeparator(); | 60 | filter->insertSeparator(); |
59 | mnuFilterByCategory = filter->insertItem( "Filter By &Category", this, SLOT(filterCategory()), Qt::CTRL+Qt::Key_C ); | 61 | mnuFilterByCategory = filter->insertItem( "Filter By &Category", this, SLOT(filterCategory()), Qt::CTRL+Qt::Key_C ); |
60 | mnuSetFilterCategory = filter->insertItem( "Set Filter C&ategory", this, SLOT(setFilterCategory()), Qt::CTRL+Qt::Key_A ); | 62 | mnuSetFilterCategory = filter->insertItem( "Set Filter C&ategory", this, SLOT(setFilterCategory()), Qt::CTRL+Qt::Key_A ); |
61 | 63 | ||
62 | // Create the main menu | 64 | // Create the main menu |
63 | menu = menuBar(); //new QMenuBar( this ); | 65 | menu = menuBar(); //new QMenuBar( this ); |
64 | menu->insertItem( tr( "&Settings" ), settings ); | 66 | menu->insertItem( tr( "&Settings" ), settings ); |
65 | menu->insertItem( tr( "&Edit" ), edit ); | 67 | menu->insertItem( tr( "&Edit" ), edit ); |
66 | menu->insertItem( tr( "&Filter" ), filter ); | 68 | menu->insertItem( tr( "&Filter" ), filter ); |
67 | menu->insertItem( tr( "&Help" ), help ); | 69 | menu->insertItem( tr( "&Help" ), help ); |
68 | 70 | ||
69 | mgr = new DataManager(); | 71 | // Create UI widgets |
70 | mgr->loadServers(); | ||
71 | |||
72 | stack = new QWidgetStack( this ); | 72 | stack = new QWidgetStack( this ); |
73 | 73 | ||
74 | networkPkgWindow = new NetworkPackageManager( mgr, stack ); | 74 | progressWindow = new ProgressWidget( stack ); |
75 | stack->addWidget( progressWindow, 2 ); | ||
76 | |||
77 | networkPkgWindow = new NetworkPackageManager( stack ); | ||
78 | connect( networkPkgWindow, SIGNAL( appRaiseMainWidget() ), this, SLOT( raiseMainWidget() ) ); | ||
79 | connect( networkPkgWindow, SIGNAL( appRaiseProgressWidget() ), this, SLOT( raiseProgressWidget() ) ); | ||
80 | connect( networkPkgWindow, SIGNAL( progressSetSteps( int ) ), progressWindow, SLOT( setSteps( int ) ) ); | ||
81 | connect( networkPkgWindow, SIGNAL( progressSetMessage( const QString & ) ), | ||
82 | progressWindow, SLOT( setMessage( const QString & ) ) ); | ||
83 | connect( networkPkgWindow, SIGNAL( progressUpdate( int ) ), progressWindow, SLOT( update( int ) ) ); | ||
75 | stack->addWidget( networkPkgWindow, 1 ); | 84 | stack->addWidget( networkPkgWindow, 1 ); |
76 | 85 | ||
77 | setCentralWidget( stack ); | 86 | setCentralWidget( stack ); |
78 | stack->raiseWidget( networkPkgWindow ); | 87 | stack->raiseWidget( progressWindow ); |
88 | |||
89 | // Delayed call to finish initialization | ||
90 | QTimer::singleShot( 100, this, SLOT( init() ) ); | ||
91 | |||
79 | } | 92 | } |
80 | 93 | ||
81 | MainWindow :: ~MainWindow() | 94 | MainWindow :: ~MainWindow() |
82 | { | 95 | { |
83 | delete networkPkgWindow; | 96 | delete mgr; |
97 | } | ||
98 | |||
99 | void MainWindow :: init() | ||
100 | { | ||
101 | stack->raiseWidget( progressWindow ); | ||
102 | mgr = new DataManager(); | ||
103 | connect( mgr, SIGNAL( progressSetSteps( int ) ), progressWindow, SLOT( setSteps( int ) ) ); | ||
104 | connect( mgr, SIGNAL( progressSetMessage( const QString & ) ), | ||
105 | progressWindow, SLOT( setMessage( const QString & ) ) ); | ||
106 | connect( mgr, SIGNAL( progressUpdate( int ) ), progressWindow, SLOT( update( int ) ) ); | ||
107 | mgr->loadServers(); | ||
108 | networkPkgWindow->setDataManager( mgr ); | ||
109 | networkPkgWindow->updateData(); | ||
110 | stack->raiseWidget( networkPkgWindow ); | ||
84 | } | 111 | } |
85 | 112 | ||
86 | void MainWindow :: setDocument( const QString &doc ) | 113 | void MainWindow :: setDocument( const QString &doc ) |
87 | { | 114 | { |
88 | // Remove path from package | 115 | // Remove path from package |
89 | QString package = Utils::getPackageNameFromIpkFilename( doc ); | 116 | QString package = Utils::getPackageNameFromIpkFilename( doc ); |
90 | std::cout << "Selecting package " << package << std::endl; | 117 | std::cout << "Selecting package " << package << std::endl; |
91 | networkPkgWindow->selectLocalPackage( package ); | 118 | networkPkgWindow->selectLocalPackage( package ); |
92 | } | 119 | } |
93 | 120 | ||
94 | void MainWindow :: displaySettings() | 121 | void MainWindow :: displaySettings() |
95 | { | 122 | { |
@@ -199,12 +226,22 @@ void MainWindow :: filterCategory() | |||
199 | { | 226 | { |
200 | if ( filter->isItemChecked( mnuFilterByCategory ) ) | 227 | if ( filter->isItemChecked( mnuFilterByCategory ) ) |
201 | { | 228 | { |
202 | networkPkgWindow->filterByCategory( false ); | 229 | networkPkgWindow->filterByCategory( false ); |
203 | filter->setItemChecked( mnuFilterByCategory, false ); | 230 | filter->setItemChecked( mnuFilterByCategory, false ); |
204 | } | 231 | } |
205 | else | 232 | else |
206 | { | 233 | { |
207 | if ( networkPkgWindow->filterByCategory( true ) ) | 234 | if ( networkPkgWindow->filterByCategory( true ) ) |
208 | filter->setItemChecked( mnuFilterByCategory, true ); | 235 | filter->setItemChecked( mnuFilterByCategory, true ); |
209 | } | 236 | } |
210 | } | 237 | } |
238 | |||
239 | void MainWindow :: raiseMainWidget() | ||
240 | { | ||
241 | stack->raiseWidget( networkPkgWindow ); | ||
242 | } | ||
243 | |||
244 | void MainWindow :: raiseProgressWidget() | ||
245 | { | ||
246 | stack->raiseWidget( progressWindow ); | ||
247 | } | ||