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

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

Add logic to detect all the messy deps when we add / remove NG packages

Add new dialog to display exactly whats going to happen to the end user

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