source: src-qt4/pc-pkgmanager/mainWin.h @ 47e969a8

9.1-release9.2-releasereleng/10.0releng/10.0.1releng/10.0.2releng/10.0.3
Last change on this file since 47e969a8 was 47e969a8, checked in by Kris Moore <kris@…>, 17 months ago

Add functionality to read pkgng repo, and build our UI elements

VERY fast < 1 second in most cases

  • Property mode set to 100644
File size: 3.1 KB
Line 
1#ifndef MAINWIN_H
2#define MAINWIN_H
3
4#include <QDialog>
5#include <QFile>
6#include <QMenu>
7#include <QMessageBox>
8#include <QProcess>
9#include <QProgressDialog>
10#include <QSocketNotifier>
11#include <QStringList>
12#include <QTextStream>
13#include <QTimer>
14
15#include <pcbsd-utils.h>
16#include <pcbsd-ui.h>
17#include "ui_mainWin.h"
18#include "../config.h"
19
20/* Change this to switch the default patch tmpdir */
21const QString PATCHTMPDIR_DEFAULT( PREFIX + "/tmp" );
22#define SYSTRIGGER "/tmp/.sysupdatetraytrigger"
23
24class mainWin : public QMainWindow, private Ui::mainWin
25{
26        Q_OBJECT
27
28public:
29        mainWin() : QMainWindow()
30        {
31          setupUi(this);
32        }
33
34    QMap <QString, QString> codeMap;
35
36public slots:
37    void ProgramInit(QString);
38    void slotSingleInstance();
39
40private slots:
41   
42    // Generic pkgng handlers
43    void slotReadPkgOutput();
44    void slotPkgDone();
45
46    // Meta-Packages
47    void slotFinishLoadingMetaPkgs();
48    void slotGetPackageDataOutput();
49    void slotApplyClicked();
50
51    // Package updates
52    void slotRescanPkgsClicked();
53    void slotUpdatePkgsClicked();
54    void slotApplyMetaChanges();
55    void slotDeskPkgsChanged(QTreeWidgetItem *aItem, int __unused);
56    void slotMetaRightClick();
57    void slotMetaViewPkgs();
58
59    // UI Stuff
60    void slotViewChanged();
61    void slotCloseClicked();
62
63    // NG Packages
64    void slotGetNGPackageDataOutput();
65    void slotFinishLoadingNGPkgs();
66    void slotGetNGInstalledDataOutput();
67    void slotGetNGInstalledPkgs();
68    void slotEnableApply();
69
70private:
71    // Generic pkg process handlers
72    void prepPkgProcess();
73    void startPkgProcess();
74    QList<QStringList> pkgCmdList;
75    bool pkgHasFailed;
76    QString getConflictDetailText();
77
78    // Updates
79    void doUpdates();
80    bool sanityCheck();
81
82    int curUpdate;
83    int curUpdateIndex;
84    int totUpdate;
85    bool dPackages;
86    bool uPackages;
87    QProcess *uProc;
88    QList<QStringList> listUpdates;
89    QString wDir, wIP;
90    QString lastError;
91    QSocketNotifier *eSock;
92
93
94    // Meta-Packages
95    void initMetaWidget();
96    void populateMetaPkgs();
97    void addTreeItems(QString parent);
98    bool isMetaPkgInstalled(QString mPkg);
99    void checkMPKGUpdates();
100    void parseTmpMetaList();
101    void saveMetaPkgs();
102    void startMetaChanges();
103    bool haveAMetaDesktop();
104    bool haveMetaPkgChanges();
105    QString getAddPkgs();
106    QString getDelPkgs();
107    bool allChildrenPkgsChecked(QString parent);
108    bool allChildrenPkgsUnchecked(QString parent);
109    void checkAllChildrenPkgs(QString parent);
110    void uncheckAllChildrenPkgs(QString parent);
111    QString getLineFromCommandOutput( QString cmd );
112    QList<QStringList> metaPkgList;
113    QStringList tmpMetaPkgList;
114    QString addPkgs;
115    QString delPkgs;
116    QString pkgSource;
117    QString curFileText;
118    QProcess *getMetaProc;
119
120    // NG Packages
121    void populateNGPkgs();
122    void addNGItems();
123    QStringList tmpPkgList;
124    QStringList pkgList;
125    QProcess *getNGProc;
126
127
128    QString chrootArg1;
129    QString chrootArg2;
130    QString ConflictList;
131    bool canceled;
132    QMenu *popup;
133    dialogInfo *dIB;
134    QActionGroup *viewGroup;
135
136signals:
137
138} ;
139#endif // MAINWIN_H
140
Note: See TracBrowser for help on using the repository browser.