# HG changeset patch # User Chris Cannam # Date 1585221407 0 # Node ID 2e720fdcab0a7906e68ea3ef52f0cd6e6b73ee83 # Parent 01a41a37bd2699ed68beccf31c1fc7da7b5d0e97 Factor out the menu titling code formerly in MainWindow diff -r 01a41a37bd26 -r 2e720fdcab0a files.pri --- a/files.pri Wed Mar 25 12:08:34 2020 +0000 +++ b/files.pri Thu Mar 26 11:16:47 2020 +0000 @@ -68,6 +68,7 @@ widgets/LevelPanToolButton.h \ widgets/LevelPanWidget.h \ widgets/ListInputDialog.h \ + widgets/MenuTitle.h \ widgets/MIDIFileImportDialog.h \ widgets/ModelDataTableDialog.h \ widgets/NotifyingCheckBox.h \ diff -r 01a41a37bd26 -r 2e720fdcab0a widgets/MenuTitle.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/widgets/MenuTitle.h Thu Mar 26 11:16:47 2020 +0000 @@ -0,0 +1,55 @@ +/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ + +/* + Sonic Visualiser + An audio file viewer and annotation editor. + Centre for Digital Music, Queen Mary, University of London. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. See the file + COPYING included with this distribution for more information. +*/ + +#ifndef SV_MENU_TITLE_H +#define SV_MENU_TITLE_H + +#include "view/ViewManager.h" + +#include +#include +#include +#include + +class MenuTitle +{ +public: + static void addTitle(QMenu *m, QString text) { + +#ifdef Q_OS_LINUX + static int leftIndent = + (ViewManager::scalePixelSize(5) + + 2 * qApp->style()->pixelMetric(QStyle::PM_SmallIconSize)); +#else +#ifdef Q_OS_WIN + static int leftIndent = + (9 + qApp->style()->pixelMetric(QStyle::PM_SmallIconSize)); +#else + static int leftIndent = 16; +#endif +#endif + + QWidgetAction *wa = new QWidgetAction(m); + QLabel *title = new QLabel; + title->setText(QObject::tr("%1") + .arg(XmlExportable::encodeEntities(text))); + title->setMargin(ViewManager::scalePixelSize(3)); + title->setIndent(leftIndent); + wa->setDefaultWidget(title); + m->addAction(wa); + m->addSeparator(); + } +}; + +#endif