Ajout d'icones sur les boutons lors de l'utilisation du style Plastique

Correction d'un bug avec le menu contextuel du panel d'elements


git-svn-id: svn+ssh://svn.tuxfamily.org/svnroot/qet/qet/trunk@200 bfdf4180-ca20-0410-9c96-a3a8aa849046
This commit is contained in:
xavierqet 2007-10-30 14:00:11 +00:00
parent 3d64380a96
commit 556b626880
3 changed files with 67 additions and 1 deletions

View File

@ -119,6 +119,7 @@ void ElementsPanelWidget::handleContextMenu(const QPoint &pos) {
if (item_file.isNull() || !item_file_infos.exists()) return;
// remplit le menu differemment selon qu'il s'agit d'un element ou d'une categorie
context_menu -> clear();
if (item_file_infos.isDir()) {
context_menu -> addAction(new_category);
context_menu -> addAction(edit_category);

View File

@ -88,6 +88,11 @@ QETApp::QETApp(int &argc, char **argv) : QApplication(argc, argv) {
connect(this, SIGNAL(lastWindowClosed()), this, SLOT(checkRemainingWindows()));
}
// Lorsque le style Plastique est active, on le remplace par une version amelioree
if (qobject_cast<QPlastiqueStyle *>(style())) {
setStyle(new QETStyle());
}
// Creation et affichage d'un editeur de schema
QStringList files;
foreach(QString argument, arguments()) {
@ -504,7 +509,7 @@ bool QETApp::event(QEvent *e) {
foreach(QETDiagramEditor *de, diagrams_editors) {
if (de -> isVisible()) visible_diagrams_editors << de;
}
// ob choisit soit le premier visible soit le premier tout court
// on choisit soit le premier visible soit le premier tout court
QETDiagramEditor *de_open;
if (visible_diagrams_editors.count()) {
de_open = visible_diagrams_editors.first();
@ -543,3 +548,48 @@ void QETApp::printVersion() {
void QETApp::printLicense() {
std::cout << qPrintable(QET::license()) << std::endl;
}
/// Constructeur
QETStyle::QETStyle() : QPlastiqueStyle() {
}
/// Destructeur
QETStyle::~QETStyle() {
}
/// Gere les parametres de style
int QETStyle::styleHint(StyleHint hint, const QStyleOption *option, const QWidget *widget, QStyleHintReturn *returndata) const {
if (hint == QStyle::SH_DialogButtonBox_ButtonsHaveIcons) {
return(int(true));
} else {
return(QPlastiqueStyle::styleHint(hint, option, widget, returndata));
}
}
/// Gere les icones standard
QIcon QETStyle::standardIconImplementation(StandardPixmap standardIcon, const QStyleOption *option, const QWidget* widget) const {
switch(standardIcon) {
case QStyle::SP_DialogSaveButton:
return(QIcon(":/ico/save.png"));
case QStyle::SP_DialogOpenButton:
return(QIcon(":/ico/open.png"));
case QStyle::SP_DialogCancelButton:
return(QIcon(":/ico/button_cancel.png"));
case QStyle::SP_DialogOkButton:
case QStyle::SP_DialogApplyButton:
return(QIcon(":/ico/button_ok.png"));
case QStyle::SP_DialogCloseButton:
return(QIcon(":/ico/fileclose.png"));
case QStyle::SP_DialogYesButton:
return(QIcon(":/ico/allowed.png"));
case QStyle::SP_DialogNoButton:
return(QIcon(":/ico/forbidden.png"));
case QStyle::SP_DialogResetButton:
return(QIcon(":/ico/undo.png"));
case QStyle::SP_DialogHelpButton:
case QStyle::SP_DialogDiscardButton:
return(QIcon());
default:
return(QPlastiqueStyle::standardIconImplementation(standardIcon, option, widget));
}
}

View File

@ -91,4 +91,19 @@ class QETApp : public QApplication {
void buildSystemTrayMenu();
void fetchWindowStats(const QList<QETDiagramEditor *> &diagrams, const QList<QETElementEditor *> &elements);
};
/**
Cette classe represente le style de QElectroTech
Il s'agit de modifications simples appliquees aux styles communs de Qt
*/
class QETStyle : public QPlastiqueStyle {
Q_OBJECT
public:
QETStyle();
virtual ~QETStyle();
virtual int styleHint(StyleHint hint, const QStyleOption * = 0, const QWidget * = 0, QStyleHintReturn * = 0) const;
protected slots:
virtual QIcon standardIconImplementation(StandardPixmap, const QStyleOption * = 0, const QWidget * = 0) const;
};
#endif