summaryrefslogtreecommitdiff
path: root/noncore/unsupported/oipkg/mainwindow.cpp
authortille <tille>2002-04-24 19:15:02 (UTC)
committer tille <tille>2002-04-24 19:15:02 (UTC)
commit17eb865ad8248b1f47c565b074b9b6bbbd44935b (patch) (unidiff)
treec494b5050ce910df3c74e2a21c5579571792d926 /noncore/unsupported/oipkg/mainwindow.cpp
parent997b7685dcc48cc36737240ca53331f83b66dbeb (diff)
downloadopie-17eb865ad8248b1f47c565b074b9b6bbbd44935b.zip
opie-17eb865ad8248b1f47c565b074b9b6bbbd44935b.tar.gz
opie-17eb865ad8248b1f47c565b074b9b6bbbd44935b.tar.bz2
added find
Diffstat (limited to 'noncore/unsupported/oipkg/mainwindow.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/unsupported/oipkg/mainwindow.cpp190
1 files changed, 133 insertions, 57 deletions
diff --git a/noncore/unsupported/oipkg/mainwindow.cpp b/noncore/unsupported/oipkg/mainwindow.cpp
index cb2b4cd..997f449 100644
--- a/noncore/unsupported/oipkg/mainwindow.cpp
+++ b/noncore/unsupported/oipkg/mainwindow.cpp
@@ -13,6 +13,8 @@
13#include <qtoolbutton.h> 13#include <qtoolbutton.h>
14#include <qstring.h> 14#include <qstring.h>
15#include <qlabel.h>
15#include <qlistview.h> 16#include <qlistview.h>
16#include <qtextview.h> 17#include <qtextview.h>
18#include <qlineedit.h>
17#include <qtabwidget.h> 19#include <qtabwidget.h>
18#include <qcombobox.h> 20#include <qcombobox.h>
@@ -26,24 +28,29 @@ MainWindow::MainWindow( QWidget *parent, const char *name, WFlags f = 0 ) :
26 { 28 {
27 setCaption( tr("Package Manager") ); 29 setCaption( tr("Package Manager") );
28 table = new PackageWindow( this,0,0 ); 30
29 setCentralWidget( table ); 31 listViewPackages = new QListView( this,0,0 );
32 setCentralWidget( listViewPackages );
33
30 makeMenu(); 34 makeMenu();
31 35
32 QFontMetrics fm = fontMetrics(); 36 QFontMetrics fm = fontMetrics();
37 int wlw = width()*2;
33 int w0 = fm.width(tr("Package"))+30; 38 int w0 = fm.width(tr("Package"))+30;
39 // int w0 = fm.width(tr("Package"))+30;
34 int w2 = fm.width("00000")+4; 40 int w2 = fm.width("00000")+4;
35 table->ListViewPackages->setColumnWidth(0,w0); 41 int w1 = wlw-w2-w0-20;
36 table->ListViewPackages->setColumnWidth(1,228-w2-w0); // ### screen-biased 42 listViewPackages->addColumn( tr("Package"), w0 );
37 table->ListViewPackages->setColumnWidth(2,w2); 43 listViewPackages->addColumn( tr("Description"), w1 );
38 table->ListViewPackages->setColumnWidthMode(0,QListView::Manual); 44 listViewPackages->addColumn( tr("Size"), w2 );
39 table->ListViewPackages->setColumnWidthMode(1,QListView::Manual); 45 listViewPackages->setColumnWidthMode(0,QListView::Manual);
40 table->ListViewPackages->setColumnWidthMode(2,QListView::Manual); 46 listViewPackages->setColumnWidthMode(1,QListView::Manual);
41 table->ListViewPackages->setSelectionMode( QListView::Multi ); 47 listViewPackages->setColumnWidthMode(2,QListView::Manual);
42 48 listViewPackages->setSelectionMode( QListView::Multi );
43 connect( table->section, SIGNAL( activated(int) ), 49
50 connect( section, SIGNAL( activated(int) ),
44 this, SLOT( sectionChanged() ) ); 51 this, SLOT( sectionChanged() ) );
45 connect( table->subsection, SIGNAL(activated(int) ), 52 connect( subsection, SIGNAL(activated(int) ),
46 this, SLOT( subSectionChanged() ) ); 53 this, SLOT( subSectionChanged() ) );
47 connect( table->ListViewPackages, SIGNAL( clicked( QListViewItem* ) ), 54 connect( listViewPackages, SIGNAL( pressed( QListViewItem* ) ),
48 this, SLOT( setCurrent( QListViewItem* ) ) ); 55 this, SLOT( setCurrent( QListViewItem* ) ) );
49 56
@@ -64,13 +71,9 @@ void MainWindow::makeMenu()
64 QPEMenuBar *menuBar = new QPEMenuBar( toolBar ); 71 QPEMenuBar *menuBar = new QPEMenuBar( toolBar );
65 QPopupMenu *srvMenu = new QPopupMenu( menuBar ); 72 QPopupMenu *srvMenu = new QPopupMenu( menuBar );
73 QPopupMenu *viewMenu = new QPopupMenu( menuBar );
66 QPopupMenu *cfgMenu = new QPopupMenu( menuBar ); 74 QPopupMenu *cfgMenu = new QPopupMenu( menuBar );
67 // QPopupMenu *sectMenu = new QPopupMenu( menuBar ); 75 // QPopupMenu *sectMenu = new QPopupMenu( menuBar );
68 76
69//#define TOOLBAR 77 popupMenu = new QPopupMenu( this );
70#ifdef TOOLBAR
71 QPEToolBar *secBar = new QPEToolBar( this );
72 QComboBox *sections = new QComboBox( false, this );
73 secBar->addTo( sections );
74#endif
75 78
76 contextMenu = new QPopupMenu( this ); 79 contextMenu = new QPopupMenu( this );
@@ -79,11 +82,14 @@ void MainWindow::makeMenu()
79 toolBar->setHorizontalStretchable( true ); 82 toolBar->setHorizontalStretchable( true );
80 menuBar->insertItem( tr( "Package" ), srvMenu ); 83 menuBar->insertItem( tr( "Package" ), srvMenu );
84 menuBar->insertItem( tr( "View" ), viewMenu );
81 menuBar->insertItem( tr( "Settings" ), cfgMenu ); 85 menuBar->insertItem( tr( "Settings" ), cfgMenu );
82 // menuBar->insertItem( tr( "Sections" ), sectMenu ); 86 // menuBar->insertItem( tr( "Sections" ), sectMenu );
83 87
84 toolBar->setStretchableWidget (srvMenu); 88 QLabel *spacer = new QLabel( "", toolBar );
89 spacer->setBackgroundColor( toolBar->backgroundColor() );
90 toolBar->setStretchableWidget( spacer );
85 91
86 92
87 runAction = new QAction( tr( "Run" ), 93 runAction = new QAction( tr( "Commit" ),
88 Resource::loadPixmap( "oipkg/install" ), 94 Resource::loadPixmap( "oipkg/install" ),
89 QString::null, 0, this, 0 ); 95 QString::null, 0, this, 0 );
@@ -103,16 +109,16 @@ void MainWindow::makeMenu()
103 updateAction->addTo( srvMenu ); 109 updateAction->addTo( srvMenu );
104 110
105 // detailsAction = new QAction( tr( "Details" ), 111 detailsAction = new QAction( tr( "Details" ),
106 // Resource::loadIconSet( "oipkg/details" ), 112 Resource::loadIconSet( "find" ),
107 // QString::null, 0, this, 0 ); 113 QString::null, 0, this, 0 );
108 // connect( detailsAction, SIGNAL( activated() ), 114 connect( detailsAction, SIGNAL( activated() ),
109 // this , SLOT( showDetails() ) ); 115 this , SLOT( showDetails() ) );
110 // detailsAction->addTo( toolBar ); 116 detailsAction->addTo( toolBar );
111 // detailsAction->addTo( srvMenu ); 117 detailsAction->addTo( srvMenu );
112 118
113 QAction *cfgact; 119 QAction *cfgact;
114 120
115 cfgact = new QAction( tr( "Setups" ), 121 cfgact = new QAction( tr( "Setups" ),
116 Resource::loadIconSet( "" ), 122 // Resource::loadIconSet( "" ),
117 QString::null, 0, this, 0 ); 123 QString::null, 0, this, 0 );
118 connect( cfgact, SIGNAL( activated() ), 124 connect( cfgact, SIGNAL( activated() ),
@@ -121,5 +127,5 @@ void MainWindow::makeMenu()
121 127
122 cfgact = new QAction( tr( "Servers" ), 128 cfgact = new QAction( tr( "Servers" ),
123 Resource::loadIconSet( "" ), 129 // Resource::loadIconSet( "" ),
124 QString::null, 0, this, 0 ); 130 QString::null, 0, this, 0 );
125 connect( cfgact, SIGNAL( activated() ), 131 connect( cfgact, SIGNAL( activated() ),
@@ -127,5 +133,5 @@ void MainWindow::makeMenu()
127 cfgact->addTo( cfgMenu ); 133 cfgact->addTo( cfgMenu );
128 cfgact = new QAction( tr( "Destinations" ), 134 cfgact = new QAction( tr( "Destinations" ),
129 Resource::loadIconSet( "" ), 135 //Resource::loadIconSet( "" ),
130 QString::null, 0, this, 0 ); 136 QString::null, 0, this, 0 );
131 connect( cfgact, SIGNAL( activated() ), 137 connect( cfgact, SIGNAL( activated() ),
@@ -133,4 +139,50 @@ void MainWindow::makeMenu()
133 cfgact->addTo( cfgMenu ); 139 cfgact->addTo( cfgMenu );
134 140
141 QAction *a;
142
143 sectionBar = new QPEToolBar( this );
144 addToolBar( sectionBar, "Section", QMainWindow::Top, TRUE );
145 sectionBar->setHorizontalStretchable( true );
146 QLabel *label = new QLabel( tr("Section: "), sectionBar );
147 label->setBackgroundColor( sectionBar->backgroundColor() );
148 section = new QComboBox( false, sectionBar );
149// section->setBackgroundMode( PaletteBackground );
150 label = new QLabel( " / ", sectionBar );
151 label->setBackgroundColor( sectionBar->backgroundColor() );
152 subsection = new QComboBox( false, sectionBar );
153 sectionBar->setStretchableWidget( label );
154
155 a = new QAction( tr( "Close Section" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
156 connect( a, SIGNAL( activated() ), this, SLOT( sectionClose() ) );
157 a->addTo( sectionBar );
158
159 sectionAction = new QAction( tr( "Sections" ), QString::null, 0, this, 0 );
160 connect( sectionAction, SIGNAL( toggled(bool) ), this, SLOT( sectionShow(bool) ) );
161 sectionAction->setToggleAction( true );
162 sectionAction->setOn( true );
163 sectionAction->addTo( viewMenu );
164
165 findBar = new QPEToolBar(this);
166 addToolBar( findBar, "Search", QMainWindow::Top, TRUE );
167 label = new QLabel( tr("Filter: "), findBar );
168 label->setBackgroundColor( findBar->backgroundColor() );
169 findBar->setHorizontalStretchable( TRUE );
170 findEdit = new QLineEdit( findBar, "findEdit" );
171 findBar->setStretchableWidget( findEdit );
172 connect( findEdit, SIGNAL( textChanged( const QString & ) ),
173 this, SLOT( displayList() ) );
174 //a = new QAction( tr( "Filter" ), Resource::loadPixmap( "next" ), QString::null, 0, this, 0 );
175// connect( a, SIGNAL( activated() ), this, SLOT( filterList() ) );
176// a->addTo( findBar );
177// a->addTo( edit );
178 a = new QAction( tr( "Close Find" ), Resource::loadPixmap( "close" ), QString::null, 0, this, 0 );
179 connect( a, SIGNAL( activated() ), this, SLOT( findClose() ) );
180 a->addTo( findBar );
181 findAction = new QAction( tr( "Find" ), QString::null, 0, this, 0 );
182 connect( findAction, SIGNAL( toggled(bool) ), this, SLOT( findShow(bool) ) );
183 findAction->setToggleAction( true );
184 findAction->setOn( true );
185 findAction->addTo( viewMenu );
186
135} 187}
136 188
@@ -142,10 +194,10 @@ void MainWindow::runIpkg()
142{ 194{
143 ipkg->commit( packageList ); 195 ipkg->commit( packageList );
144 updateList(); 196 updateList(); //to remove
145} 197}
146 198
147void MainWindow::updateList() 199void MainWindow::updateList()
148{ 200{
149 // todo: packageList.clear(); 201 packageList.clear();
150 ipkg->update(); 202 ipkg->update();
151 getList(); 203 getList();
@@ -160,18 +212,18 @@ void MainWindow::getList()
160void MainWindow::filterList() 212void MainWindow::filterList()
161{ 213{
162 packageList.filterPackages(); 214 QString f = "";
215 if ( findAction->isOn() ) f = findEdit->text();
216 packageList.filterPackages( f );
163} 217}
164 218
165void MainWindow::displayList() 219void MainWindow::displayList()
166{ 220{
167 table->ListViewPackages->clear(); 221 filterList();
222 listViewPackages->clear();
168 Package *pack = packageList.first(); 223 Package *pack = packageList.first();
169 while( pack ) 224 while( pack )
170 { 225 {
171 if ( pack && (pack->name() != "") ) 226 if ( pack && (pack->name() != "") )
172 { 227 listViewPackages->insertItem( new PackageListItem( listViewPackages, pack ) );
173 table->ListViewPackages->insertItem(
174 new PackageListItem( table->ListViewPackages, pack ) );
175 }
176 pack = packageList.next(); 228 pack = packageList.next();
177 } 229 }
@@ -180,15 +232,14 @@ void MainWindow::displayList()
180void MainWindow::sectionChanged() 232void MainWindow::sectionChanged()
181{ 233{
182 disconnect( table->section, SIGNAL( activated(int) ), 234 disconnect( section, SIGNAL( activated(int) ),
183 this, SLOT( sectionChanged() ) ); 235 this, SLOT( sectionChanged() ) );
184 disconnect( table->subsection, SIGNAL(activated(int) ), 236 disconnect( subsection, SIGNAL(activated(int) ),
185 this, SLOT( subSectionChanged() ) ); 237 this, SLOT( subSectionChanged() ) );
186 table->subsection->clear(); 238 subsection->clear();
187 packageList.setSection( table->section->currentText() ); 239 packageList.setSection( section->currentText() );
188 setSubSections(); 240 setSubSections();
189 filterList(); 241 connect( section, SIGNAL( activated(int) ),
190 connect( table->section, SIGNAL( activated(int) ),
191 this, SLOT( sectionChanged() ) ); 242 this, SLOT( sectionChanged() ) );
192 connect( table->subsection, SIGNAL(activated(int) ), 243 connect( subsection, SIGNAL(activated(int) ),
193 this, SLOT( subSectionChanged() ) ); 244 this, SLOT( subSectionChanged() ) );
194 displayList(); 245 displayList();
@@ -197,13 +248,12 @@ void MainWindow::sectionChanged()
197void MainWindow::subSectionChanged() 248void MainWindow::subSectionChanged()
198{ 249{
199 disconnect( table->section, SIGNAL( activated(int) ), 250 disconnect( section, SIGNAL( activated(int) ),
200 this, SLOT( sectionChanged() ) ); 251 this, SLOT( sectionChanged() ) );
201 disconnect( table->subsection, SIGNAL(activated(int) ), 252 disconnect( subsection, SIGNAL(activated(int) ),
202 this, SLOT( subSectionChanged() ) ); 253 this, SLOT( subSectionChanged() ) );
203 packageList.setSubSection( table->subsection->currentText() ); 254 packageList.setSubSection( subsection->currentText() );
204 filterList(); 255 connect( section, SIGNAL( activated(int) ),
205 connect( table->section, SIGNAL( activated(int) ),
206 this, SLOT( sectionChanged() ) ); 256 this, SLOT( sectionChanged() ) );
207 connect( table->subsection, SIGNAL(activated(int) ), 257 connect( subsection, SIGNAL(activated(int) ),
208 this, SLOT( subSectionChanged() ) ); 258 this, SLOT( subSectionChanged() ) );
209 displayList(); 259 displayList();
@@ -212,12 +262,12 @@ void MainWindow::subSectionChanged()
212void MainWindow::setSections() 262void MainWindow::setSections()
213{ 263{
214 table->section->clear(); 264 section->clear();
215 table->section->insertStringList( packageList.getSections() ); 265 section->insertStringList( packageList.getSections() );
216} 266}
217 267
218void MainWindow::setSubSections() 268void MainWindow::setSubSections()
219{ 269{
220 table->subsection->clear(); 270 subsection->clear();
221 table->subsection->insertStringList( packageList.getSubSections() ); 271 subsection->insertStringList( packageList.getSubSections() );
222} 272}
223 273
@@ -268,5 +318,31 @@ void MainWindow::setCurrent( QListViewItem* p )
268{ 318{
269 pvDebug(2, "MainWindow::setCurrent "); 319 pvDebug(2, "MainWindow::setCurrent ");
270 //+((Package*)p)->name()); 320 return;
321 pvDebug(2, "name "+((Package*)p)->name());
271 activePackage = (Package*)p; 322 activePackage = (Package*)p;
272} 323}
324
325void MainWindow::sectionShow(bool b)
326{
327 if (b) sectionBar->show();
328 else sectionBar->hide();
329 sectionAction->setOn( b );
330}
331
332void MainWindow::sectionClose()
333{
334 sectionAction->setOn( false );
335}
336
337void MainWindow::findShow(bool b)
338{
339 if (b) findBar->show();
340 else findBar->hide();
341 findAction->setOn( b );
342}
343
344void MainWindow::findClose()
345{
346 findAction->setOn( false );
347}
348