void WallpaperInterface::loadFinished() { if (m_qmlObject->mainComponent() && m_qmlObject->rootObject() && !m_qmlObject->mainComponent()->isError()) { m_qmlObject->rootObject()->setProperty("z", -1000); m_qmlObject->rootObject()->setProperty("parent", QVariant::fromValue(this)); //set anchors QQmlExpression expr(m_qmlObject->engine()->rootContext(), m_qmlObject->rootObject(), "parent"); QQmlProperty prop(m_qmlObject->rootObject(), "anchors.fill"); prop.write(expr.evaluate()); } else if (m_qmlObject->mainComponent()) { qWarning() << "Error loading the wallpaper" << m_qmlObject->mainComponent()->errors(); s_rootObjects.remove(m_qmlObject->engine()); m_qmlObject->deleteLater(); m_qmlObject = 0; } else { qWarning() << "Error loading the wallpaper, package not found"; } emit packageChanged(); emit configurationChanged(); }
void MainWindow::initGUI() { QWidget *centralWidget = new QWidget(this); QVBoxLayout *centralLayout = new QVBoxLayout(centralWidget); centralLayout->setSpacing(0); centralLayout->setMargin(0); m_stack = new QStackedWidget(centralWidget); m_stack->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Expanding); centralLayout->addWidget(m_stack); setCentralWidget(centralWidget); m_managerWidget = new ManagerWidget(m_stack); connect(this, SIGNAL(backendReady(QApt::Backend*)), m_managerWidget, SLOT(setBackend(QApt::Backend*))); connect(m_managerWidget, SIGNAL(packageChanged()), this, SLOT(setActionsEnabled())); m_mainWidget = new QSplitter(this); m_mainWidget->setOrientation(Qt::Horizontal); connect(m_mainWidget, SIGNAL(splitterMoved(int,int)), this, SLOT(saveSplitterSizes())); m_transWidget = new TransactionWidget(this); m_filterBox = new FilterWidget(m_stack); connect(this, SIGNAL(backendReady(QApt::Backend*)), m_filterBox, SLOT(setBackend(QApt::Backend*))); connect(m_filterBox, SIGNAL(filterByGroup(QString)), m_managerWidget, SLOT(filterByGroup(QString))); connect(m_filterBox, SIGNAL(filterByStatus(QApt::Package::State)), m_managerWidget, SLOT(filterByStatus(QApt::Package::State))); connect(m_filterBox, SIGNAL(filterByOrigin(QString)), m_managerWidget, SLOT(filterByOrigin(QString))); connect(m_filterBox, SIGNAL(filterByArchitecture(QString)), m_managerWidget, SLOT(filterByArchitecture(QString))); m_mainWidget->addWidget(m_filterBox); m_mainWidget->addWidget(m_managerWidget); loadSplitterSizes(); m_stack->addWidget(m_transWidget); m_stack->addWidget(m_mainWidget); m_stack->setCurrentWidget(m_mainWidget); m_backend = new QApt::Backend(this); QApt::FrontendCaps caps = (QApt::FrontendCaps)(QApt::DebconfCap | QApt::MediumPromptCap | QApt::ConfigPromptCap | QApt::UntrustedPromptCap); m_backend->setFrontendCaps(caps); QAptActions* actions = QAptActions::self(); actions->setMainWindow(this); connect(actions, SIGNAL(changesReverted()), this, SLOT(revertChanges())); setupActions(); m_statusWidget = new StatusWidget(centralWidget); connect(this, SIGNAL(backendReady(QApt::Backend*)), m_statusWidget, SLOT(setBackend(QApt::Backend*))); centralLayout->addWidget(m_statusWidget); }
void PackageWidget::setBackend(QApt::Backend *backend) { m_backend = backend; connect(m_backend, SIGNAL(packageChanged()), m_detailsWidget, SLOT(refreshTabs())); connect(m_backend, SIGNAL(packageChanged()), m_model, SLOT(externalDataChanged())); connect(m_backend, SIGNAL(cacheReloadStarted()), this, SLOT(cacheReloadStarted())); connect(m_backend, SIGNAL(cacheReloadFinished()), this, SLOT(cacheReloadFinished())); connect(m_backend, SIGNAL(xapianUpdateFinished()), this, SLOT(startSearch())); m_detailsWidget->setBackend(backend); m_proxyModel->setBackend(m_backend); m_packageView->setSortingEnabled(true); QApt::PackageList packageList = m_backend->availablePackages(); QFuture<QList<QApt::Package*> > future = QtConcurrent::run(sortPackages, packageList); m_watcher->setFuture(future); m_packageView->updateView(); }
void StatusWidget::setBackend(QApt::Backend *backend) { m_backend = backend; connect(m_backend, SIGNAL(packageChanged()), this, SLOT(updateStatus())); connect(m_backend, SIGNAL(cacheReloadFinished()), this, SLOT(updateStatus())); connect(m_backend, SIGNAL(xapianUpdateStarted()), this, SLOT(showXapianProgress())); connect(m_backend, SIGNAL(xapianUpdateProgress(int)), this, SLOT(updateXapianProgress(int))); updateStatus(); }
void PackageWidget::actOnPackages(QApt::Package::State action) { const QApt::PackageList packages = selectedPackages(); if (packages.isEmpty()) return; QApplication::setOverrideCursor(Qt::WaitCursor); saveState(); m_backend->setCompressEvents(true); m_stop = false; for (QApt::Package *package : packages) { if (m_stop) { m_backend->setCompressEvents(false); QApplication::restoreOverrideCursor(); break; } switch (action) { case QApt::Package::ToInstall: setInstall(package); break; case QApt::Package::ToRemove: setRemove(package); break; case QApt::Package::ToUpgrade: setUpgrade(package); break; case QApt::Package::ToReInstall: if (package->isInstalled()) setReInstall(package); break; case QApt::Package::ToKeep: setKeep(package); break; case QApt::Package::ToPurge: setPurge(package); break; default: break; } } emit packageChanged(); m_backend->setCompressEvents(false); QApplication::restoreOverrideCursor(); checkChanges(); }
void MainWindow::initObject() { QAptActions::self()->setBackend(m_backend); emit backendReady(m_backend); connect(m_backend, SIGNAL(packageChanged()), this, SLOT(setActionsEnabled())); connect(m_backend, SIGNAL(cacheReloadFinished()), this, SLOT(setActionsEnabled())); // Set up GUI loadSettings(); setActionsEnabled(); m_managerWidget->setFocus(); }