summaryrefslogtreecommitdiff
path: root/noncore/settings/aqpkg/mainwin.cpp
blob: 0b5a5ebf0f23aadf426abb834493195b1e68f804 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
/***************************************************************************
                          mainwin.cpp  -  description
                             -------------------
    begin                : Mon Aug 26 13:32:30 BST 2002
    copyright            : (C) 2002 by Andy Qua
    email                : andy.qua@blueyonder.co.uk
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#include <qmenubar.h>
#include <qpopupmenu.h>
#include <qmessagebox.h>

#include "mainwin.h"
#include "datamgr.h"
#include "networkpkgmgr.h"
#include "settingsimpl.h"
#include "helpwindow.h"
#include "utils.h"
#include "global.h"

MainWindow :: MainWindow( QWidget *p, char *name )
	:	QMainWindow( p, name )
{
#ifdef QWS
    showMaximized();
#endif

    setCaption( "AQPkg - Package Manager" );

    // Create our menu
	QPopupMenu *help = new QPopupMenu( this );
	help->insertItem( "&General", this, SLOT(displayHelp()), Qt::CTRL+Qt::Key_H );
	help->insertItem( "&About", this, SLOT(displayAbout()), Qt::CTRL+Qt::Key_A );

    QPopupMenu *settings = new QPopupMenu( this );
	settings->insertItem( "&Settings", this, SLOT(displaySettings()), Qt::CTRL+Qt::Key_S );

    QPopupMenu *edit = new QPopupMenu( this );
	edit->insertItem( "&Search", this, SLOT(searchForPackage()), Qt::CTRL+Qt::Key_F );

	// Create the main menu
	QMenuBar *menu = menuBar();  //new QMenuBar( this );
	menu->insertItem( "&Settings", settings );
	menu->insertItem( "&Edit", edit );
	menu->insertItem( "&Help", help );

    mgr = new DataManager();
    mgr->loadServers();

	stack = new QWidgetStack( this );

	networkPkgWindow = new NetworkPackageManager( mgr, stack );
	stack->addWidget( networkPkgWindow, 1 );

	setCentralWidget( stack );
	stack->raiseWidget( networkPkgWindow );
}

MainWindow :: ~MainWindow()
{
	delete networkPkgWindow;
}

void MainWindow :: setDocument( const QString &doc )
{
    // Remove path from package
    QString package = Utils::getPackageNameFromIpkFilename( doc );
    cout << "Selecting package " << package << endl;
    networkPkgWindow->selectLocalPackage( package );
}

void MainWindow :: displaySettings()
{
    SettingsImpl *dlg = new SettingsImpl( mgr, this, "Settings", true );
    if ( dlg->showDlg( 0 ) )
    	networkPkgWindow->updateData();
    delete dlg;
}

void MainWindow :: displayHelp()
{
    HelpWindow *dlg = new HelpWindow( this );
    dlg->exec();
    delete dlg;    
}

void MainWindow :: searchForPackage()
{
    networkPkgWindow->searchForPackage();
}

void MainWindow :: displayAbout()
{
    QMessageBox::about( this, "About AQPkg", VERSION_TEXT );
}