added a status bar
[kfpm.git] / mainwidget.cpp
blobb23ded855e932b9786b94a4d764a6ac1f09389f5
1 /*
2 * mainwidget.cpp
4 * Copyright (c) 2007 VOROSKOI Andras <voroskoi@frugalware.org>
6 * Copyright: See COPYING file that comes with this distribution.
8 */
10 #include <iostream>
11 #include <qlistview.h>
12 #include <qlayout.h>
13 #include <qtabwidget.h>
14 #include <qlistbox.h>
15 #include <qmenubar.h>
16 #include <qapplication.h>
17 #include <qmessagebox.h>
18 #include <qstatusbar.h>
20 #include "mainwidget.h"
21 #include "kfpm_pacman.h"
23 extern QPtrList<PM_DB> syncs;
25 MainWidget::MainWidget(QWidget * parent, const char * name, WFlags f) : QWidget (parent, name)
27 //FPM akarmi;
28 QVBoxLayout *topLayout = new QVBoxLayout(this);
29 Q_CHECK_PTR(topLayout);
31 /* Menubar */
32 QPopupMenu *file = new QPopupMenu(this);
33 Q_CHECK_PTR(file);
34 file->insertItem( "E&xit", qApp, SLOT(quit()), CTRL+Key_Q );
36 QPopupMenu *help = new QPopupMenu(this);
37 Q_CHECK_PTR(help);
38 help->insertItem( "&About", this, SLOT(about()) );
39 help->insertItem( "About &Qt", this, SLOT(aboutQt()) );
41 QMenuBar *menubar = new QMenuBar(this);
42 Q_CHECK_PTR(menubar);
43 menubar->insertItem( "&File", file );
44 menubar->insertItem( "&Help", help);
46 topLayout->setMenuBar(menubar);
48 /* Groups */
49 QListView *groups = new QListView(this);
50 Q_CHECK_PTR(groups);
51 groups->addColumn("Groups");
53 /*QStringList groupnames = akarmi.sync_group(akarmi.getSync());
54 for (QStringList::Iterator it = groupnames.begin(); it != groupnames.end(); it++) {
55 (void) new QListViewItem(groups, *it);
56 }*/
58 /* Packages */
59 QListView *packages = new QListView(this);
60 Q_CHECK_PTR(packages);
61 packages->addColumn("Name");
62 packages->addColumn("Version");
63 packages->addColumn("Desctiption");
65 /* Info */
66 QListBox *info = new QListBox(this);
67 Q_CHECK_PTR(info);
68 info->setColumnMode(QListBox::FixedNumber);
70 /* Details */
71 QTabWidget *pkgdetails = new QTabWidget(this);
72 Q_CHECK_PTR(pkgdetails);
73 pkgdetails->addTab(info, "Info");
75 /* Layout */
76 QHBoxLayout *leftgrouplist = new QHBoxLayout(topLayout);
77 Q_CHECK_PTR(leftgrouplist);
78 leftgrouplist->addWidget(groups);
80 QVBoxLayout *details = new QVBoxLayout(leftgrouplist);
81 Q_CHECK_PTR(details);
82 details->addWidget(packages);
83 details->addWidget(pkgdetails);
85 /* StatusBar */
86 QStatusBar *statusbar = new QStatusBar(this);
87 Q_CHECK_PTR(statusbar);
88 statusbar->message("Done.");
90 topLayout->addWidget(statusbar);
93 void MainWidget::about()
95 QMessageBox::about(this, "Kfpm for Frugalware",
96 "Kfpm is a graphical fronted for libpacman.\n");
99 void MainWidget::aboutQt()
101 QMessageBox::aboutQt(this, "About Qt");