#include <QtMaemo5>
#endif
+#include <sys/vfs.h>
+
#include "mainwindow.h"
#include "version.h"
#include "ui_mainwindow.h"
iUpgradeAutoUpdate = true;
iNextOperation = OpNone;
+ connect(QApplication::desktop(), SIGNAL(resized(int)), this, SLOT(orientationChanged()));
+
ui->centralWidget->loadWallpaper();
+ /*
QString stylesheet_mainscreen =
"QPushButton {"
"border-radius: 16px;"
"border-style: inset;"
"background-color: rgba(255,255,255,150);"
"}";
+ */
if( ((QApplication*)QApplication::instance())->styleSheet().isEmpty() )
{
}
if( stylesheet_file.isEmpty() ) {
- ui->centralWidget->setStyleSheet(stylesheet_mainscreen);
+ //ui->centralWidget->setStyleSheet(stylesheet_mainscreen);
} else {
((QApplication*)QApplication::instance())->setStyleSheet(stylesheet_file);
}
iMediaObject = new Phonon::MediaObject(this);
Phonon::AudioOutput* aout = new Phonon::AudioOutput(Phonon::NotificationCategory, this);
Phonon::createPath(iMediaObject, aout);
+
+ showFreeSpace();
}
MainWindow::~MainWindow()
#endif
}
+ showFreeSpace();
}
}
iAptInterface->loadInstallFiles(installs);
}
}
+
+void MainWindow::orientationChanged()
+{
+ //ui->centralWidget->adjustSize();
+ //ui->listWidget->adjustSize();
+}
+
+
+void MainWindow::showFreeSpace()
+{
+ quint64 warn_limit_root = 5120;
+ quint64 warn_limit_opt = 51200;
+ struct statfs root_stat;
+ struct statfs opt_stat;
+ statfs("/",&root_stat);
+ statfs("/opt",&opt_stat);
+ quint64 free_root = root_stat.f_bavail * root_stat.f_bsize / 1024;
+ quint64 free_opt = opt_stat.f_bavail * opt_stat.f_bsize / 1024;
+ quint64 total_root = root_stat.f_blocks * root_stat.f_bsize / 1024;
+ quint64 total_opt = opt_stat.f_blocks * opt_stat.f_bsize / 1024;
+ qDebug() << "rootfs" << free_root << "/" << total_root << "kB free";
+ qDebug() << "opt fs" << free_opt << "/" << total_opt << "kB free";
+
+ QString rootstr = QString("rootfs: %L1 / %L2 MB free").arg(free_root/1024).arg(total_root/1024);
+ QString optstr = QString("opt: %L1 / %L2 MB free").arg(free_opt/1024).arg(total_opt/1024);
+
+ ui->label->setText("<font size=\"-1\">" + rootstr + "<br>" + optstr + "</font>");
+
+ /*
+ ui->progressBarRoot->setFormat(rootstr);
+ ui->progressBarRoot->setMaximum(total_root/1024);
+ ui->progressBarRoot->setValue(free_root/1024);
+ ui->progressBarOpt->setFormat(optstr);
+ ui->progressBarOpt->setMaximum(total_opt/1024);
+ ui->progressBarOpt->setValue(free_opt/1024);
+ */
+
+ if( free_root < warn_limit_root || free_opt < warn_limit_opt )
+ {
+ ConfirmDialog d(false, this);
+ QString t;
+ if( free_root < warn_limit_root )
+ t += QString("Root filesystem has %L1 kB available<br>").arg(free_root);
+ if( free_opt < warn_limit_opt )
+ t += QString("Opt (home) filesystem has %L1 kB available<br>").arg(free_opt);
+ t += "<br>You may proceed, but consider freeing up space to prevent problems in the future";
+ d.setText("Warning: Low disk space",t);
+ d.exec();
+ }
+}
+
+void MainWindow::on_listWidget_itemClicked(QListWidgetItem* item)
+{
+ if( item->text() == "Manage repositories" ) {
+ on_btnRepos_clicked();
+ }
+ else if( item->text() == "Update catalogs" ) {
+ on_btnUpdate_clicked();
+ }
+ else if( item->text() == "Install applications" ) {
+ on_btnListInstallable_clicked();
+ }
+ else if( item->text() == "Remove applications" ) {
+ on_btnListInstalled_clicked();
+ }
+ else if( item->text() == "Upgrade applications" ) {
+ on_btnUpgrade_clicked();
+ }
+ else {
+ qDebug() << "Warning: Unhandled main menu item";
+ }
+ item->setSelected(false);
+}