Пример #1
0
RepoEditor::RepoEditor( QWidget *parent )
    : QDialog( parent )
    , ui( new Ui::RepoEditor )
{
    ui->setupUi( this );

    repoConf = new RepoConf();
    addRepoDialog = new AddRepo( this );

    ui->tableView->setModel( repoConf );
    ui->tableView->setItemDelegateForColumn( 0, new CheckBoxDelegate( this) );
    ui->tableView->setItemDelegateForColumn( 2, new OptionsDelegate( this) );

    ui->tableView->setColumnWidth( 1, 133 );

    ui->backupFile->setText( repoConf->getConfPath() + ".bak" );

    connect( ui->moveUp, SIGNAL( clicked() ),
                         SLOT( moveUp() ) );

    connect( ui->moveDown, SIGNAL( clicked() ),
                           SLOT( moveDown() ) );

    QItemSelectionModel *selModel = ui->tableView->selectionModel();
    connect( selModel, SIGNAL( selectionChanged( QItemSelection,QItemSelection ) ),
                       SLOT( updateMovers( QItemSelection,QItemSelection ) ) );

    connect( ui->buttonBox->button( QDialogButtonBox::Reset ), SIGNAL( clicked() ),
             repoConf, SLOT( reload() ) );

    connect( ui->buttonBox->button( QDialogButtonBox::Save ), SIGNAL( clicked() ),
                                                              SLOT( apply() ) );

    connect( ui->buttonBox->button( QDialogButtonBox::Discard ), SIGNAL( clicked() ),
                                                                 SLOT( discard() ) );

    connect( ui->remove, SIGNAL( clicked() ),
                         SLOT( removeEntry() ) );

    connect( ui->add, SIGNAL( clicked() ),
                      SLOT( addEntry() ) );

    connect( ui->edit, SIGNAL( clicked() ),
                      SLOT( editEntry() ) );

    connect( ui->loadBackup, SIGNAL( clicked() ),
                             SLOT( loadBackup() ) );

    ui->tableView->selectRow(0);
}
Пример #2
0
void BrowseBackup::setup_widgets() {

	qDebug() << "[SETUP] BrowseBackup";

	setup = true;

	this->setWindowTitle("Browse Backup");
	this->setMinimumSize(400,250);

	// A heading, giving a few explanatory words
	QLabel *title = new QLabel("<h1>Browse backed up data</h1>Please select a date to get a list of available data sets for that day.");
	title->setWordWrap(true);
	title->setAlignment(Qt::AlignCenter);

	// A date can be selected to get a list of backups from that day
	date = new DateEdit;
	QHBoxLayout *dateLay = new QHBoxLayout;
	dateLay->addStretch();
	dateLay->addWidget(date);
	dateLay->addStretch();

	// A search button to search for backups on the set date
	search = new QPushButton("Search");
	search->setStyleSheet("font-weight: bold; font-size: 12pt");
	connect(search, SIGNAL(clicked()), this, SLOT(doSearch()));

	Line *afterSearch = new Line;

	// And a list widget that'll contain all the backups, each as one item
	list = new QListWidget;
	list->setStyleSheet("QListWidget { font-weight: bold; } QListWidget:item { height: 30px; }");
	connect(list, SIGNAL(clicked(QModelIndex)), this, SLOT(itemSelected(QModelIndex)));

	// And if a backup is selected, then this button is enabled to load the data and open a read-only data browser
	load = new QPushButton("Load dataset");
	load->setEnabled(false);
	load->setStyleSheet("font-weight: bold; font-size: 11pt");
	connect(load, SIGNAL(clicked()), this, SLOT(loadBackup()));

	// And right at the bottom a button to close this window
	Line *lineAboveClose = new Line;
	closeWindow = new QPushButton("Close");
	closeWindow->setStyleSheet("font-weight: bold");
	QHBoxLayout *closeWindowLay = new QHBoxLayout;
	closeWindowLay->addStretch();
	closeWindowLay->addWidget(closeWindow);
	closeWindowLay->addStretch();
	connect(closeWindow, SIGNAL(clicked()), this, SLOT(close()));

	// The two busy widgets:
	busyLoadList = new Busy("Loading list of Backups...\nPlease wait!");
	busyLoadBackup = new Busy("Loading Backup into database...\nThis might take a couple minutes!");

	// Arrange elements in layout
	QVBoxLayout *lay = new QVBoxLayout;
	lay->addWidget(title);
	lay->addSpacing(15);
	lay->addLayout(dateLay);
	lay->addSpacing(10);
	lay->addWidget(search);
	lay->addSpacing(5);
	lay->addWidget(afterSearch);
	lay->addSpacing(5);
	lay->addWidget(list);
	lay->addSpacing(10);
	lay->addWidget(load);
	lay->addSpacing(5);
	lay->addWidget(lineAboveClose);
	lay->addLayout(closeWindowLay);
	lay->addSpacing(5);
	this->setLayout(lay);

	// This manager is used to load a list of backups (the backup files are filtered on the server using a php script)
	connect(&manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(analyseReply(QNetworkReply*)));

	// The data browser (tools, bookingtabs, details) are only set up if a backup is requested for browsing
	browseSetup = false;
	// Request loading of a backup
	connect(&managerLoadBackup, SIGNAL(finished(QNetworkReply*)), this, SLOT(openBackup(QNetworkReply*)));

}