Diffstat (limited to 'noncore/settings/aqpkg/mainwin.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/settings/aqpkg/mainwin.cpp | 395 |
1 files changed, 209 insertions, 186 deletions
diff --git a/noncore/settings/aqpkg/mainwin.cpp b/noncore/settings/aqpkg/mainwin.cpp index 5ccd3c3..0141359 100644 --- a/noncore/settings/aqpkg/mainwin.cpp +++ b/noncore/settings/aqpkg/mainwin.cpp | |||
@@ -1,186 +1,209 @@ | |||
1 | /*************************************************************************** | 1 | /*************************************************************************** |
2 | mainwin.cpp - description | 2 | mainwin.cpp - description |
3 | ------------------- | 3 | ------------------- |
4 | begin : Mon Aug 26 13:32:30 BST 2002 | 4 | begin : Mon Aug 26 13:32:30 BST 2002 |
5 | copyright : (C) 2002 by Andy Qua | 5 | copyright : (C) 2002 by Andy Qua |
6 | email : andy.qua@blueyonder.co.uk | 6 | email : andy.qua@blueyonder.co.uk |
7 | ***************************************************************************/ | 7 | ***************************************************************************/ |
8 | 8 | ||
9 | /*************************************************************************** | 9 | /*************************************************************************** |
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 | 19 | ||
20 | #include <qmenubar.h> | 20 | #include <qmenubar.h> |
21 | #include <qpopupmenu.h> | 21 | #include <qpopupmenu.h> |
22 | #include <qmessagebox.h> | 22 | #include <qmessagebox.h> |
23 | 23 | ||
24 | #include "mainwin.h" | 24 | #include "mainwin.h" |
25 | #include "datamgr.h" | 25 | #include "datamgr.h" |
26 | #include "networkpkgmgr.h" | 26 | #include "networkpkgmgr.h" |
27 | #include "settingsimpl.h" | 27 | #include "settingsimpl.h" |
28 | #include "helpwindow.h" | 28 | #include "helpwindow.h" |
29 | #include "utils.h" | 29 | #include "utils.h" |
30 | #include "global.h" | 30 | #include "global.h" |
31 | 31 | ||
32 | MainWindow :: MainWindow( QWidget *p, char *name ) | 32 | MainWindow :: MainWindow( QWidget *p, char *name ) |
33 | :QMainWindow( p, name ) | 33 | :QMainWindow( p, name ) |
34 | { | 34 | { |
35 | #ifdef QWS | 35 | #ifdef QWS |
36 | showMaximized(); | 36 | showMaximized(); |
37 | #endif | 37 | #endif |
38 | 38 | ||
39 | setCaption( "AQPkg - Package Manager" ); | 39 | setCaption( "AQPkg - Package Manager" ); |
40 | 40 | ||
41 | // Create our menu | 41 | // Create our menu |
42 | help = new QPopupMenu( this ); | 42 | help = new QPopupMenu( this ); |
43 | help->insertItem( "&General", this, SLOT(displayHelp()), Qt::CTRL+Qt::Key_G ); | 43 | help->insertItem( "&General", this, SLOT(displayHelp()), Qt::CTRL+Qt::Key_G ); |
44 | help->insertItem( "&About", this, SLOT(displayAbout()), Qt::CTRL+Qt::Key_A ); | 44 | help->insertItem( "&About", this, SLOT(displayAbout()), Qt::CTRL+Qt::Key_A ); |
45 | 45 | ||
46 | settings = new QPopupMenu( this ); | 46 | settings = new QPopupMenu( this ); |
47 | settings->insertItem( "&Settings", this, SLOT(displaySettings()), Qt::CTRL+Qt::Key_S ); | 47 | settings->insertItem( "&Settings", this, SLOT(displaySettings()), Qt::CTRL+Qt::Key_S ); |
48 | 48 | ||
49 | edit = new QPopupMenu( this ); | 49 | edit = new QPopupMenu( this ); |
50 | edit->insertItem( "&Find", this, SLOT(searchForPackage()), Qt::CTRL+Qt::Key_I ); | 50 | edit->insertItem( "&Find", this, SLOT(searchForPackage()), Qt::CTRL+Qt::Key_I ); |
51 | edit->insertItem( "Find &Next", this, SLOT(repeatSearchForPackage()), Qt::CTRL+Qt::Key_N ); | 51 | edit->insertItem( "Find &Next", this, SLOT(repeatSearchForPackage()), Qt::CTRL+Qt::Key_N ); |
52 | 52 | ||
53 | filter = new QPopupMenu( this ); | 53 | filter = new QPopupMenu( this ); |
54 | mnuShowUninstalledPkgsId = filter->insertItem( "Show &Uninstalled Packages", this, SLOT(filterUninstalledPackages()), Qt::CTRL+Qt::Key_U ); | 54 | mnuShowUninstalledPkgsId = filter->insertItem( "Show &Uninstalled Packages", this, SLOT(filterUninstalledPackages()), Qt::CTRL+Qt::Key_U ); |
55 | mnuShowInstalledPkgsId = filter->insertItem( "Show In&stalled Packages", this, SLOT(filterInstalledPackages()), Qt::CTRL+Qt::Key_S ); | 55 | mnuShowInstalledPkgsId = filter->insertItem( "Show In&stalled Packages", this, SLOT(filterInstalledPackages()), Qt::CTRL+Qt::Key_S ); |
56 | mnuShowUpgradedPkgsId = filter->insertItem( "Show U&pdated Packages", this, SLOT(filterUpgradedPackages()), Qt::CTRL+Qt::Key_P ); | 56 | mnuShowUpgradedPkgsId = filter->insertItem( "Show U&pdated Packages", this, SLOT(filterUpgradedPackages()), Qt::CTRL+Qt::Key_P ); |
57 | 57 | filter->insertSeparator(); | |
58 | // Create the main menu | 58 | mnuFilterByCategory = filter->insertItem( "Filter By &Category", this, SLOT(filterCategory()), Qt::CTRL+Qt::Key_C ); |
59 | menu = menuBar(); //new QMenuBar( this ); | 59 | mnuSetFilterCategory = filter->insertItem( "Set Filter C&ategory", this, SLOT(setFilterCategory()), Qt::CTRL+Qt::Key_A ); |
60 | menu->insertItem( "&Settings", settings ); | 60 | |
61 | menu->insertItem( "&Edit", edit ); | 61 | // Create the main menu |
62 | menu->insertItem( "&Filter", filter ); | 62 | menu = menuBar(); //new QMenuBar( this ); |
63 | menu->insertItem( "&Help", help ); | 63 | menu->insertItem( "&Settings", settings ); |
64 | 64 | menu->insertItem( "&Edit", edit ); | |
65 | mgr = new DataManager(); | 65 | menu->insertItem( "&Filter", filter ); |
66 | mgr->loadServers(); | 66 | menu->insertItem( "&Help", help ); |
67 | 67 | ||
68 | stack = new QWidgetStack( this ); | 68 | mgr = new DataManager(); |
69 | 69 | mgr->loadServers(); | |
70 | networkPkgWindow = new NetworkPackageManager( mgr, stack ); | 70 | |
71 | stack->addWidget( networkPkgWindow, 1 ); | 71 | stack = new QWidgetStack( this ); |
72 | 72 | ||
73 | setCentralWidget( stack ); | 73 | networkPkgWindow = new NetworkPackageManager( mgr, stack ); |
74 | stack->raiseWidget( networkPkgWindow ); | 74 | stack->addWidget( networkPkgWindow, 1 ); |
75 | } | 75 | |
76 | 76 | setCentralWidget( stack ); | |
77 | MainWindow :: ~MainWindow() | 77 | stack->raiseWidget( networkPkgWindow ); |
78 | { | 78 | } |
79 | delete networkPkgWindow; | 79 | |
80 | } | 80 | MainWindow :: ~MainWindow() |
81 | 81 | { | |
82 | void MainWindow :: setDocument( const QString &doc ) | 82 | delete networkPkgWindow; |
83 | { | 83 | } |
84 | // Remove path from package | 84 | |
85 | QString package = Utils::getPackageNameFromIpkFilename( doc ); | 85 | void MainWindow :: setDocument( const QString &doc ) |
86 | std::cout << "Selecting package " << package << std::endl; | 86 | { |
87 | networkPkgWindow->selectLocalPackage( package ); | 87 | // Remove path from package |
88 | } | 88 | QString package = Utils::getPackageNameFromIpkFilename( doc ); |
89 | 89 | std::cout << "Selecting package " << package << std::endl; | |
90 | void MainWindow :: displaySettings() | 90 | networkPkgWindow->selectLocalPackage( package ); |
91 | { | 91 | } |
92 | SettingsImpl *dlg = new SettingsImpl( mgr, this, "Settings", true ); | 92 | |
93 | if ( dlg->showDlg( 0 ) ) | 93 | void MainWindow :: displaySettings() |
94 | networkPkgWindow->updateData(); | 94 | { |
95 | delete dlg; | 95 | SettingsImpl *dlg = new SettingsImpl( mgr, this, "Settings", true ); |
96 | } | 96 | if ( dlg->showDlg( 0 ) ) |
97 | 97 | networkPkgWindow->updateData(); | |
98 | void MainWindow :: displayHelp() | 98 | delete dlg; |
99 | { | 99 | } |
100 | HelpWindow *dlg = new HelpWindow( this ); | 100 | |
101 | dlg->exec(); | 101 | void MainWindow :: displayHelp() |
102 | delete dlg; | 102 | { |
103 | } | 103 | HelpWindow *dlg = new HelpWindow( this ); |
104 | 104 | dlg->exec(); | |
105 | void MainWindow :: searchForPackage() | 105 | delete dlg; |
106 | { | 106 | } |
107 | networkPkgWindow->searchForPackage( false ); | 107 | |
108 | } | 108 | void MainWindow :: searchForPackage() |
109 | 109 | { | |
110 | void MainWindow :: repeatSearchForPackage() | 110 | networkPkgWindow->searchForPackage( false ); |
111 | { | 111 | } |
112 | networkPkgWindow->searchForPackage( true ); | 112 | |
113 | } | 113 | void MainWindow :: repeatSearchForPackage() |
114 | 114 | { | |
115 | void MainWindow :: displayAbout() | 115 | networkPkgWindow->searchForPackage( true ); |
116 | { | 116 | } |
117 | QMessageBox::about( this, "About AQPkg", VERSION_TEXT ); | 117 | |
118 | } | 118 | void MainWindow :: displayAbout() |
119 | 119 | { | |
120 | 120 | QMessageBox::about( this, "About AQPkg", VERSION_TEXT ); | |
121 | void MainWindow :: filterUninstalledPackages() | 121 | } |
122 | { | 122 | |
123 | bool val; | 123 | |
124 | if ( filter->isItemChecked( mnuShowUninstalledPkgsId ) ) | 124 | void MainWindow :: filterUninstalledPackages() |
125 | { | 125 | { |
126 | val = false; | 126 | bool val; |
127 | filter->setItemChecked( mnuShowUninstalledPkgsId, false ); | 127 | if ( filter->isItemChecked( mnuShowUninstalledPkgsId ) ) |
128 | } | 128 | { |
129 | else | 129 | val = false; |
130 | { | 130 | filter->setItemChecked( mnuShowUninstalledPkgsId, false ); |
131 | val = true; | 131 | } |
132 | filter->setItemChecked( mnuShowUninstalledPkgsId, true ); | 132 | else |
133 | } | 133 | { |
134 | 134 | val = true; | |
135 | filter->setItemChecked( mnuShowInstalledPkgsId, false ); | 135 | filter->setItemChecked( mnuShowUninstalledPkgsId, true ); |
136 | networkPkgWindow->showOnlyInstalledPackages( false ); | 136 | } |
137 | filter->setItemChecked( mnuShowUpgradedPkgsId, false ); | 137 | |
138 | networkPkgWindow->showUpgradedPackages( false ); | 138 | filter->setItemChecked( mnuShowInstalledPkgsId, false ); |
139 | 139 | networkPkgWindow->showOnlyInstalledPackages( false ); | |
140 | networkPkgWindow->showOnlyUninstalledPackages( val ); | 140 | filter->setItemChecked( mnuShowUpgradedPkgsId, false ); |
141 | 141 | networkPkgWindow->showUpgradedPackages( false ); | |
142 | } | 142 | |
143 | 143 | networkPkgWindow->showOnlyUninstalledPackages( val ); | |
144 | void MainWindow :: filterInstalledPackages() | 144 | |
145 | { | 145 | } |
146 | bool val; | 146 | |
147 | if ( filter->isItemChecked( mnuShowInstalledPkgsId ) ) | 147 | void MainWindow :: filterInstalledPackages() |
148 | { | 148 | { |
149 | val = false; | 149 | bool val; |
150 | filter->setItemChecked( mnuShowInstalledPkgsId, false ); | 150 | if ( filter->isItemChecked( mnuShowInstalledPkgsId ) ) |
151 | } | 151 | { |
152 | else | 152 | val = false; |
153 | { | 153 | filter->setItemChecked( mnuShowInstalledPkgsId, false ); |
154 | val = true; | 154 | } |
155 | filter->setItemChecked( mnuShowInstalledPkgsId, true ); | 155 | else |
156 | } | 156 | { |
157 | 157 | val = true; | |
158 | filter->setItemChecked( mnuShowUninstalledPkgsId, false ); | 158 | filter->setItemChecked( mnuShowInstalledPkgsId, true ); |
159 | networkPkgWindow->showOnlyUninstalledPackages( false ); | 159 | } |
160 | filter->setItemChecked( mnuShowUpgradedPkgsId, false ); | 160 | |
161 | networkPkgWindow->showUpgradedPackages( false ); | 161 | filter->setItemChecked( mnuShowUninstalledPkgsId, false ); |
162 | 162 | networkPkgWindow->showOnlyUninstalledPackages( false ); | |
163 | networkPkgWindow->showOnlyInstalledPackages( val ); | 163 | filter->setItemChecked( mnuShowUpgradedPkgsId, false ); |
164 | } | 164 | networkPkgWindow->showUpgradedPackages( false ); |
165 | 165 | ||
166 | void MainWindow :: filterUpgradedPackages() | 166 | networkPkgWindow->showOnlyInstalledPackages( val ); |
167 | { | 167 | } |
168 | bool val; | 168 | |
169 | if ( filter->isItemChecked( mnuShowUpgradedPkgsId ) ) | 169 | void MainWindow :: filterUpgradedPackages() |
170 | { | 170 | { |
171 | val = false; | 171 | bool val; |
172 | filter->setItemChecked( mnuShowUpgradedPkgsId, false ); | 172 | if ( filter->isItemChecked( mnuShowUpgradedPkgsId ) ) |
173 | } | 173 | { |
174 | else | 174 | val = false; |
175 | { | 175 | filter->setItemChecked( mnuShowUpgradedPkgsId, false ); |
176 | val = true; | 176 | } |
177 | filter->setItemChecked( mnuShowUpgradedPkgsId, true ); | 177 | else |
178 | } | 178 | { |
179 | 179 | val = true; | |
180 | filter->setItemChecked( mnuShowUninstalledPkgsId, false ); | 180 | filter->setItemChecked( mnuShowUpgradedPkgsId, true ); |
181 | networkPkgWindow->showOnlyUninstalledPackages( false ); | 181 | } |
182 | filter->setItemChecked( mnuShowInstalledPkgsId, false ); | 182 | |
183 | networkPkgWindow->showOnlyInstalledPackages( false ); | 183 | filter->setItemChecked( mnuShowUninstalledPkgsId, false ); |
184 | 184 | networkPkgWindow->showOnlyUninstalledPackages( false ); | |
185 | networkPkgWindow->showUpgradedPackages( val ); | 185 | filter->setItemChecked( mnuShowInstalledPkgsId, false ); |
186 | } | 186 | networkPkgWindow->showOnlyInstalledPackages( false ); |
187 | |||
188 | networkPkgWindow->showUpgradedPackages( val ); | ||
189 | } | ||
190 | |||
191 | void MainWindow :: setFilterCategory() | ||
192 | { | ||
193 | if ( networkPkgWindow->setFilterCategory( ) ) | ||
194 | filter->setItemChecked( mnuFilterByCategory, true ); | ||
195 | } | ||
196 | |||
197 | void MainWindow :: filterCategory() | ||
198 | { | ||
199 | if ( filter->isItemChecked( mnuFilterByCategory ) ) | ||
200 | { | ||
201 | networkPkgWindow->filterByCategory( false ); | ||
202 | filter->setItemChecked( mnuFilterByCategory, false ); | ||
203 | } | ||
204 | else | ||
205 | { | ||
206 | if ( networkPkgWindow->filterByCategory( true ) ) | ||
207 | filter->setItemChecked( mnuFilterByCategory, true ); | ||
208 | } | ||
209 | } \ No newline at end of file | ||