void FileBrowserDialog::createStatusBar() { status_bar_ = new QToolBar; const int w = ::getDPIScaledSize(kStatusBarIconSize); status_bar_->setObjectName("statusBar"); status_bar_->setIconSize(QSize(w, w)); QWidget *spacer1 = new QWidget; spacer1->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); status_bar_->addWidget(spacer1); // Submenu upload_menu_ = new QMenu(status_bar_); // Submenu's Action 1: Upload File upload_file_action_ = new QAction(tr("Upload a file"), upload_menu_); connect(upload_file_action_, SIGNAL(triggered()), this, SLOT(chooseFileToUpload())); upload_menu_->addAction(upload_file_action_); // Submenu's Action 2: Make a new directory mkdir_action_ = new QAction(tr("Create a folder"), upload_menu_); connect(mkdir_action_, SIGNAL(triggered()), this, SLOT(onMkdirButtonClicked())); upload_menu_->addAction(mkdir_action_); // Action to trigger Submenu upload_button_ = new QPushButton; upload_button_->setObjectName("uploadButton"); upload_button_->setIcon(getIconSet(":/images/filebrowser/upload.png", kStatusBarIconSize, kStatusBarIconSize)); connect(upload_button_, SIGNAL(clicked()), this, SLOT(uploadFileOrMkdir())); status_bar_->addWidget(upload_button_); if (repo_.readonly) { upload_button_->setEnabled(false); upload_button_->setToolTip(tr("You don't have permission to upload files to this library")); } details_label_ = new QLabel; details_label_->setAlignment(Qt::AlignCenter | Qt::AlignVCenter); details_label_->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); details_label_->setFixedHeight(w); status_bar_->addWidget(details_label_); refresh_action_ = new QAction(this); refresh_action_->setIcon( getIconSet(":/images/filebrowser/refresh.png", kStatusBarIconSize, kStatusBarIconSize)); connect(refresh_action_, SIGNAL(triggered()), this, SLOT(forceRefresh())); status_bar_->addAction(refresh_action_); open_cache_dir_action_ = new QAction(this); open_cache_dir_action_->setIcon( getIconSet(":/images/filebrowser/open-folder.png", kStatusBarIconSize, kStatusBarIconSize)); connect(open_cache_dir_action_, SIGNAL(triggered()), this, SLOT(openCacheFolder())); status_bar_->addAction(open_cache_dir_action_); QWidget *spacer2 = new QWidget; spacer2->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); status_bar_->addWidget(spacer2); }
void FileBrowserDialog::createStatusBar() { status_bar_ = new QToolBar; status_bar_->setObjectName("statusBar"); status_bar_->setIconSize(QSize(kStatusBarIconSize, kStatusBarIconSize)); QWidget *spacer1 = new QWidget; spacer1->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); status_bar_->addWidget(spacer1); // Submenu upload_menu_ = new QMenu(status_bar_); // Submenu's Action 1: Upload File upload_file_action_ = new QAction(tr("Upload files"), upload_menu_); connect(upload_file_action_, SIGNAL(triggered()), this, SLOT(chooseFileToUpload())); upload_menu_->addAction(upload_file_action_); // Submenu's Action 2: Upload File (only pro version's server supports it) if (account_.isPro()) { upload_directory_action_ = new QAction(tr("Upload a directory"), upload_menu_); connect(upload_directory_action_, SIGNAL(triggered()), this, SLOT(chooseDirectoryToUpload())); upload_menu_->addAction(upload_directory_action_); } else { upload_directory_action_ = NULL; } // Submenu's Action 3: Make a new directory mkdir_action_ = new QAction(tr("Create a folder"), upload_menu_); connect(mkdir_action_, SIGNAL(triggered()), this, SLOT(onMkdirButtonClicked())); upload_menu_->addAction(mkdir_action_); // Action to trigger Submenu upload_button_ = new QToolButton; upload_button_->setObjectName("uploadButton"); upload_button_->setIcon(QIcon(":/images/toolbar/add.png")); connect(upload_button_, SIGNAL(clicked()), this, SLOT(uploadFileOrMkdir())); status_bar_->addWidget(upload_button_); if (repo_.readonly) { upload_button_->setEnabled(false); upload_button_->setToolTip(tr("You don't have permission to upload files to this library")); } details_label_ = new QLabel; details_label_->setAlignment(Qt::AlignCenter | Qt::AlignVCenter); details_label_->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); status_bar_->addWidget(details_label_); refresh_action_ = new QAction(this); refresh_action_->setIcon(QIcon(":/images/toolbar/refresh.png")); connect(refresh_action_, SIGNAL(triggered()), this, SLOT(forceRefresh())); refresh_action_->setShortcut(QKeySequence::Refresh); status_bar_->addAction(refresh_action_); open_cache_dir_action_ = new QAction(this); open_cache_dir_action_->setIcon(QIcon(":/images/toolbar/file.png")); connect(open_cache_dir_action_, SIGNAL(triggered()), this, SLOT(openCacheFolder())); status_bar_->addAction(open_cache_dir_action_); QWidget *spacer2 = new QWidget; spacer2->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Preferred); status_bar_->addWidget(spacer2); }