diff options
Diffstat (limited to 'lumina-fm/MainUI.cpp')
-rw-r--r-- | lumina-fm/MainUI.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/lumina-fm/MainUI.cpp b/lumina-fm/MainUI.cpp index 9d66bc36..c4b74dbd 100644 --- a/lumina-fm/MainUI.cpp +++ b/lumina-fm/MainUI.cpp @@ -12,6 +12,8 @@ #define DEBUG 0 MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI){ + //for Signal/slot we must register the Typedef of QFileInfoList + qRegisterMetaType<QFileInfoList>("QFileInfoList"); ui->setupUi(this); if(DEBUG){ qDebug() << "Initilization:"; } //Be careful about the QSettings setup, it must match the lumina-desktop setup @@ -214,6 +216,10 @@ void MainUI::setupConnections(){ connect(worker, SIGNAL(ImagesAvailable(QStringList)), this, SLOT(AvailablePictures(QStringList)) ); connect(worker, SIGNAL(MultimediaAvailable(QStringList)), this, SLOT(AvailableMultimediaFiles(QStringList)) ); connect(worker, SIGNAL(SnapshotsAvailable(QString, QStringList)), this, SLOT(AvailableBackups(QString, QStringList)) ); + + //Background worker class for statusbar + connect(this, SIGNAL(Si_AdaptStatusBar(QFileInfoList, QString, QString)), worker, SLOT(createStatusBarMsg(QFileInfoList, QString, QString)) ); + connect(worker, SIGNAL(Si_DisplayStatusBar(QString)), this, SLOT(DisplayStatusBar(QString)) ); //Action buttons on browser page connect(ui->tool_act_run, SIGNAL(clicked()), this, SLOT(OpenItem()) ); @@ -447,8 +453,11 @@ void MainUI::setCurrentDir(QString dir){ if(rawdir == olddir){ emit DirChanged(rawdir); //This will be automatically run when a new dir is loaded } + emit Si_AdaptStatusBar(fsmod->rootDirectory().entryInfoList(), rawdir, tr("Items")); if(isUserWritable){ ui->label_dir_stats->setText(""); } - else{ ui->label_dir_stats->setText(tr("Limited Access Directory")); } + else{ ui->label_dir_stats->setText(tr("Limited Access Directory")); + } + ui->tool_addToDir->setVisible(isUserWritable); ui->tool_addNewFile->setVisible(isUserWritable); ui->actionUpDir->setEnabled(dir!="/"); @@ -541,6 +550,11 @@ void MainUI::AvailableBackups(QString basedir, QStringList snapdirs){ ui->tool_goToRestore->setVisible(!snapDirs.isEmpty()); } +void MainUI::DisplayStatusBar(QString msg){ + qDebug() << "message to show in the status bar:" << msg; + ui->statusbar->showMessage(msg); +} + void MainUI::AvailablePictures(QStringList pics){ if(!pics.isEmpty()){ QString citem = ui->combo_image_name->currentText(); @@ -962,6 +976,10 @@ void MainUI::OpenContextMenu(const QPoint &pt){ void MainUI::ItemSelectionChanged(){ //Enable/disable the action buttons QFileInfoList sel = getSelectedItems(); + //display info related to files selected. + //TO CHECK: impact if filesystem is very slow + if (sel.size()>0) worker->createStatusBarMsg(sel, "", tr("Items selected")); + ui->tool_act_run->setEnabled(sel.length()==1); ui->tool_act_runwith->setEnabled(sel.length()==1); ui->tool_act_rm->setEnabled(!sel.isEmpty() && isUserWritable); |