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); }
TextureChunkPtr IconManager::getIconTexture(const std::string& IconSetName, IconSet::IconStatusType Status) { IconSetPtr TheSet(getIconSet(IconSetName)); if(TheSet != NULL) { return TheSet->getTexture(Status); } else { return NullFC; } }
void FileBrowserDialog::createToolBar() { toolbar_ = new QToolBar; const int w = ::getDPIScaledSize(kToolBarIconSize); toolbar_->setIconSize(QSize(w, w)); toolbar_->setObjectName("topBar"); toolbar_->setIconSize(QSize(w, w)); backward_action_ = new QAction(tr("Back"), this); backward_action_->setIcon(getIconSet(":/images/filebrowser/backward.png", kToolBarIconSize, kToolBarIconSize)); backward_action_->setEnabled(false); toolbar_->addAction(backward_action_); connect(backward_action_, SIGNAL(triggered()), this, SLOT(goBackward())); forward_action_ = new QAction(tr("Forward"), this); forward_action_->setIcon(getIconSet(":/images/filebrowser/forward.png", kToolBarIconSize, kToolBarIconSize)); forward_action_->setEnabled(false); connect(forward_action_, SIGNAL(triggered()), this, SLOT(goForward())); toolbar_->addAction(forward_action_); gohome_action_ = new QAction(tr("Home"), this); gohome_action_->setIcon(getIconSet(":images/filebrowser/home.png", kToolBarIconSize, kToolBarIconSize)); connect(gohome_action_, SIGNAL(triggered()), this, SLOT(goHome())); toolbar_->addAction(gohome_action_); path_navigator_ = new QButtonGroup(this); connect(path_navigator_, SIGNAL(buttonClicked(int)), this, SLOT(onNavigatorClick(int))); // root is special QPushButton *path_navigator_root_ = new QPushButton(repo_.name); path_navigator_root_->setFlat(true); path_navigator_root_->setCursor(Qt::PointingHandCursor); connect(path_navigator_root_, SIGNAL(clicked()), this, SLOT(goHome())); toolbar_->addWidget(path_navigator_root_); }
void IconManager::applyIconSet(ButtonPtr TheButton, const std::string& IconSetName, Vec2f Size) { IconSetPtr TheSet(getIconSet(IconSetName)); if(TheSet != NULL && TheButton != NullFC) { TheButton->setTexture(TheSet->getTexture(IconSet::ICON_NORMAL), Size); if(TheSet->getTexture(IconSet::ICON_ROLLOVER) != NullFC) { TheButton->setRolloverTexture(TheSet->getTexture(IconSet::ICON_ROLLOVER), Size); } else { TheButton->setRolloverTexture(TheSet->getTexture(IconSet::ICON_NORMAL), Size); } if(TheSet->getTexture(IconSet::ICON_FOCUSED) != NullFC) { TheButton->setFocusedTexture(TheSet->getTexture(IconSet::ICON_FOCUSED), Size); } else { TheButton->setFocusedTexture(TheSet->getTexture(IconSet::ICON_NORMAL), Size); } if(TheSet->getTexture(IconSet::ICON_DISABLED) != NullFC) { TheButton->setDisabledTexture(TheSet->getTexture(IconSet::ICON_DISABLED), Size); } else { TheButton->setDisabledTexture(TheSet->getTexture(IconSet::ICON_NORMAL), Size); } if(TheSet->getTexture(IconSet::ICON_ACTIVE) != NullFC) { TheButton->setActiveTexture(TheSet->getTexture(IconSet::ICON_ACTIVE), Size); } else { TheButton->setActiveTexture(TheSet->getTexture(IconSet::ICON_NORMAL), Size); } } }
ImageComponentPtr IconManager::createIconImageComponent(const std::string& IconSetName) { IconSetPtr TheSet(getIconSet(IconSetName)); if(TheSet != NULL) { //Editor Icon ImageComponentPtr IconImageComponent = ImageComponent::create(); beginEditCP(IconImageComponent, ImageComponent::TextureFieldMask | ImageComponent::RolloverTextureFieldMask | ImageComponent::FocusedTextureFieldMask | ImageComponent::DisabledTextureFieldMask); IconImageComponent->setTexture(TheSet->getTexture(IconSet::ICON_NORMAL)); IconImageComponent->setRolloverTexture(TheSet->getTexture(IconSet::ICON_ROLLOVER)); IconImageComponent->setFocusedTexture(TheSet->getTexture(IconSet::ICON_FOCUSED)); IconImageComponent->setDisabledTexture(TheSet->getTexture(IconSet::ICON_DISABLED)); IconImageComponent->setScale(ImageComponent::SCALE_MIN_AXIS); endEditCP(IconImageComponent, ImageComponent::TextureFieldMask | ImageComponent::RolloverTextureFieldMask | ImageComponent::FocusedTextureFieldMask | ImageComponent::DisabledTextureFieldMask); return IconImageComponent; } else { return ImageComponent::create(); } }
QIcon getToolbarIconSet(const QString& path) { return getIconSet(path, 24); }
QIcon getMenuIconSet(const QString& path) { return getIconSet(path, 16); }
QIcon getIconSet(const QString& path, int size) { return getIconSet(path, size, size); }