icons for all commands

This commit is contained in:
shun-iwasawa 2021-02-15 13:43:28 +09:00 committed by manongjohn
parent 3ce5e26b2d
commit c472adc8a3
12 changed files with 1414 additions and 1350 deletions

View file

@ -316,7 +316,7 @@ QMenu {
} }
QMenu::item { QMenu::item {
border: 0; border: 0;
padding: 3 28; padding: 3 28 3 14;
} }
QMenu::item:selected { QMenu::item:selected {
background-color: #5385a6; background-color: #5385a6;

View file

@ -316,7 +316,7 @@ QMenu {
} }
QMenu::item { QMenu::item {
border: 0; border: 0;
padding: 3 28; padding: 3 28 3 14;
} }
QMenu::item:selected { QMenu::item:selected {
background-color: #5385a6; background-color: #5385a6;

View file

@ -316,7 +316,7 @@ QMenu {
} }
QMenu::item { QMenu::item {
border: 0; border: 0;
padding: 3 28; padding: 3 28 3 14;
} }
QMenu::item:selected { QMenu::item:selected {
background-color: #a0c1dd; background-color: #a0c1dd;

View file

@ -316,7 +316,7 @@ QMenu {
} }
QMenu::item { QMenu::item {
border: 0; border: 0;
padding: 3 28; padding: 3 28 3 14;
} }
QMenu::item:selected { QMenu::item:selected {
background-color: #5385a6; background-color: #5385a6;

View file

@ -139,7 +139,7 @@ QMenu {
padding: 2 0; padding: 2 0;
&::item { &::item {
border: 0; border: 0;
padding: 3 28; padding: 3 28 3 14;
&:selected { &:selected {
background-color: @menu-item-bg-color-selected; background-color: @menu-item-bg-color-selected;
color: @menu-item-text-color-selected; color: @menu-item-text-color-selected;

View file

@ -316,7 +316,7 @@ QMenu {
} }
QMenu::item { QMenu::item {
border: 0; border: 0;
padding: 3 28; padding: 3 28 3 14;
} }
QMenu::item:selected { QMenu::item:selected {
background-color: #8FA0B2; background-color: #8FA0B2;

View file

@ -111,11 +111,12 @@ int DVAPI getDevPixRatio();
QPixmap DVAPI setOpacity(QPixmap pixmap, const qreal &opacity = 0.8); QPixmap DVAPI setOpacity(QPixmap pixmap, const qreal &opacity = 0.8);
QPixmap DVAPI recolorPixmap( QPixmap DVAPI recolorPixmap(
QPixmap pixmap, QColor color = Preferences::instance()->getIconTheme() QPixmap pixmap, QColor color = Preferences::instance()->getIconTheme()
? Qt::black ? Qt::black
: Qt::white); : Qt::white);
QIcon DVAPI createQIcon(const char *iconSVGName, bool useFullOpacity = false); QIcon DVAPI createQIcon(const char *iconSVGName, bool useFullOpacity = false);
QIcon DVAPI createQIconPNG(const char *iconPNGName); QIcon DVAPI createQIconPNG(const char *iconPNGName);
QIcon DVAPI createQIconOnOffPNG(const char *iconPNGName, bool withOver = true); QIcon DVAPI createQIconOnOffPNG(const char *iconPNGName, bool withOver = true);
QIcon DVAPI createTemporaryIconFromName(const char *commandName);
inline QSize dimension2QSize(const TDimension &sz) { inline QSize dimension2QSize(const TDimension &sz) {
return QSize(sz.lx, sz.ly); return QSize(sz.lx, sz.ly);

View file

@ -0,0 +1,55 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="20"
height="20"
viewBox="0 0 360 360"
version="1.1"
xml:space="preserve"
style="clip-rule:evenodd;fill-rule:evenodd;stroke-linecap:round;stroke-miterlimit:1.5"
id="svg5062"
sodipodi:docname="touch.svg"
inkscape:version="0.92.1 r15371"><metadata
id="metadata5068"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs5066" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1383"
inkscape:window-height="1103"
id="namedview5064"
showgrid="false"
units="px"
scale-x="180"
inkscape:zoom="9.2709556"
inkscape:cx="4.3473481"
inkscape:cy="24.482"
inkscape:window-x="111"
inkscape:window-y="150"
inkscape:window-maximized="0"
inkscape:current-layer="svg5062" /><path
id="path6759"
d="m 339.18007,280.91784 c -26.82449,6.6594 3.08566,-133.52844 -32.71187,-120.07722 -12.26695,4.59726 -8.61336,14.30257 -28.0739,-10.5188 -3.12353,-3.99186 -14.80364,6.18642 -23.43594,6.62155 -4.1079,0.2081 -10.46855,-7.07563 -13.36491,-9.40261 -3.46429,-2.79998 -20.89926,9.7999 -25.2154,22.57004 -2.65027,7.92694 -18.04076,-9.53505 -40.53016,-22.09707 -22.28118,-12.42962 -49.91968,-60.785904 -68.66086,-50.834646 -27.846738,14.813366 21.94043,58.023746 49.54107,92.304496 20.48277,25.38897 28.9447,63.43454 25.68866,70.62367 -11.15005,1.39996 -21.95935,6.64046 -29.81551,3.99183 -37.53913,-12.69447 -51.92631,13.47014 -45.48993,24.49977 6.43636,11.02962 33.46907,2.68645 54.76588,12.97826 19.32802,9.30801 83.86203,23.04301 114.66191,22.39978 z"
style="fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:0;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-opacity:1;paint-order:markers fill stroke"
inkscape:connector-curvature="0" /><path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="M 6 1 C 3.2457473 1 1 3.2448961 1 6 C 1 8.7541822 3.2457474 11 6 11 C 6.678189 11 7.3234717 10.85771 7.9140625 10.611328 C 7.685129 10.332019 7.5122034 10.012212 7.2675781 9.7441406 C 6.8642725 9.8804548 6.4499921 10 6 10 C 3.7868284 10 2 8.2131139 2 6 C 2 3.785739 3.7868285 2 6 2 C 8.2131717 2 10 3.7858875 10 6 C 10 6.4644773 9.8811805 6.8942291 9.7363281 7.3085938 C 10.018825 7.5309407 10.2845 7.7727389 10.585938 7.9726562 C 10.848392 7.3660328 11 6.7012258 11 6 C 11 3.2447476 8.7542533 1 6 1 z "
id="path6735"
transform="scale(18)" /><path
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:1.5;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
d="M 6 2.9726562 C 4.3342346 2.9726562 2.9707031 4.3341529 2.9707031 6 C 2.9707031 7.6658456 4.3342345 9.0292969 6 9.0292969 C 6.2198432 9.0292969 6.357678 8.8399404 6.5644531 8.7949219 C 6.3533164 8.5543689 6.1875435 8.2817589 5.9960938 8.0273438 C 4.8738864 8.0248115 3.9707031 7.1229373 3.9707031 6 C 3.9707031 4.8754841 4.8756001 3.9726562 6 3.9726562 C 7.0016042 3.9726562 7.726915 4.7337846 7.8964844 5.6835938 C 8.1754363 5.9477996 8.4477201 6.2252169 8.6992188 6.5 C 8.7235251 6.5308159 8.7660286 6.5402879 8.7910156 6.5703125 C 8.8368594 6.3615631 9.0273438 6.2219876 9.0273438 6 C 9.0273438 4.3344173 7.6666578 2.9726563 6 2.9726562 z "
id="path6731"
transform="scale(18)" /></svg>

After

Width:  |  Height:  |  Size: 6.2 KiB

File diff suppressed because it is too large Load diff

View file

@ -230,75 +230,94 @@ private:
Room *createFXRoom(); Room *createFXRoom();
Room *createBrowserRoom(); Room *createBrowserRoom();
QAction *createAction(const char *id, const QString &name, QAction *createAction(const char *id, const char *name,
const QString &defaultShortcut, QString newStatusTip, const QString &defaultShortcut, QString newStatusTip,
CommandType type = MenuFileCommandType); CommandType type = MenuFileCommandType,
QAction *createRightClickMenuAction(const char *id, const QString &name, const char *iconSVGName = "");
QAction *createRightClickMenuAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createMenuFileAction(const char *id, const QString &name, QAction *createMenuFileAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createMenuEditAction(const char *id, const QString &name, QAction *createMenuEditAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createMenuScanCleanupAction(const char *id, const QString &name, QAction *createMenuScanCleanupAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createMenuLevelAction(const char *id, const QString &name, QAction *createMenuLevelAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createMenuXsheetAction(const char *id, const QString &name, QAction *createMenuXsheetAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createMenuCellsAction(const char *id, const QString &name, QAction *createMenuCellsAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createMenuViewAction(const char *id, const QString &name, QAction *createMenuViewAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createMenuWindowsAction(const char *id, const QString &name, QAction *createMenuWindowsAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createMenuPlayAction(const char *id, const QString &name, QAction *createMenuPlayAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createMenuRenderAction(const char *id, const QString &name, QAction *createMenuRenderAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createMenuHelpAction(const char *id, const QString &name, QAction *createMenuHelpAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createRGBAAction(const char *id, const QString &name, QAction *createRGBAAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createFillAction(const char *id, const QString &name, QAction *createFillAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createMenuAction(const char *id, const QString &name, QAction *createMenuAction(const char *id, const char *name,
QList<QString> list, QString newStatusTip = ""); QList<QString> list, QString newStatusTip = "");
QAction *createToggle(const char *id, const QString &name, QAction *createToggle(const char *id, const char *name,
const QString &defaultShortcut, bool startStatus, const QString &defaultShortcut, bool startStatus,
CommandType type, QString newStatusTip = ""); CommandType type, const char *iconSVGName = "",
QString newStatusTip = "");
QAction *createToolAction(const char *id, const char *iconName, QAction *createToolAction(const char *id, const char *iconName,
const QString &name, const QString &defaultShortcut, const char *name, const QString &defaultShortcut,
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createViewerAction(const char *id, const QString &name, QAction *createViewerAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
// For command bar, no shortcut keys // For command bar, no shortcut keys
QAction *createVisualizationButtonAction(const char *id, const QString &name, QAction *createVisualizationButtonAction(const char *id, const char *name,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createMiscAction(const char *id, const QString &name, QAction *createMiscAction(const char *id, const char *name,
const char *defaultShortcut, const char *defaultShortcut,
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createToolOptionsAction(const char *id, const QString &name, QAction *createToolOptionsAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
QString newStatusTip = ""); QString newStatusTip = "");
QAction *createStopMotionAction(const char *id, const QString &name, QAction *createStopMotionAction(const char *id, const char *name,
const QString &defaultShortcut, const QString &defaultShortcut,
const char *iconSVGName = "",
QString newStatusTip = ""); QString newStatusTip = "");
protected slots: protected slots:

View file

@ -473,8 +473,9 @@
<file>icons/dark/actions/48/colorchiporder_lowleft.svg</file> <file>icons/dark/actions/48/colorchiporder_lowleft.svg</file>
<file>icons/dark/actions/48/colorchiporder_upleft.svg</file> <file>icons/dark/actions/48/colorchiporder_upleft.svg</file>
<file>icons/dark/misc/startup.png</file> <file>icons/dark/misc/startup.png</file>
<file>icons/dark/actions/20/touch.svg</file>
<!-- Keyframe --> <!-- Keyframe -->
<file>icons/dark/actions/20/key_off.svg</file> <file>icons/dark/actions/20/key_off.svg</file>
<file>icons/dark/actions/20/key_on.svg</file> <file>icons/dark/actions/20/key_on.svg</file>
<file>icons/dark/actions/20/key_modified.svg</file> <file>icons/dark/actions/20/key_modified.svg</file>
@ -561,7 +562,6 @@
<file>Resources/startup.svg</file> <file>Resources/startup.svg</file>
<file>Resources/stroke_select.png</file> <file>Resources/stroke_select.png</file>
<file>Resources/tape.png</file> <file>Resources/tape.png</file>
<file>Resources/touch.svg</file>
<file>Resources/type_in.png</file> <file>Resources/type_in.png</file>
<file>Resources/type_out.png</file> <file>Resources/type_out.png</file>
<file>Resources/work.png</file> <file>Resources/work.png</file>

View file

@ -339,6 +339,72 @@ QIcon createQIconOnOffPNG(const char *iconPNGName, bool withOver) {
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
QIcon createTemporaryIconFromName(const char *commandName) {
const int visibleIconSize = 20;
const int menubarIconSize = 16;
QString name(commandName);
QList<QChar> iconChar;
for (int i = 0; i < name.length(); i++) {
QChar c = name.at(i);
if (c.isUpper() && iconChar.size() < 2)
iconChar.append(c);
else if (c.isDigit()) {
if (iconChar.isEmpty())
iconChar.append(c);
else if (iconChar.size() <= 2) {
if (iconChar.size() == 2) iconChar.removeLast();
iconChar.append(c);
break;
}
}
}
if (iconChar.isEmpty()) iconChar.append(name.at(0));
QString iconStr;
for (auto c : iconChar) iconStr.append(c);
QIcon icon;
// prepare for both normal and high dpi
for (int devPixelRatio = 1; devPixelRatio <= 2; devPixelRatio++) {
QPixmap transparentPm(menubarIconSize * devPixelRatio,
menubarIconSize * devPixelRatio);
transparentPm.fill(Qt::transparent);
int pxSize = visibleIconSize * devPixelRatio;
QPixmap pixmap(pxSize, pxSize);
QPainter painter;
pixmap.fill(Qt::transparent);
painter.begin(&pixmap);
painter.setPen(Preferences::instance()->getIconTheme() ? Qt::black
: Qt::white);
QRect rect(0, -2, pxSize, pxSize);
if (iconStr.size() == 2) {
painter.scale(0.6, 1.0);
rect.setRight(pxSize / 0.6);
}
QFont font = painter.font();
font.setPixelSize(pxSize);
painter.setFont(font);
painter.drawText(rect, Qt::AlignCenter, iconStr);
painter.end();
icon.addPixmap(transparentPm);
icon.addPixmap(transparentPm, QIcon::Disabled);
icon.addPixmap(pixmap);
icon.addPixmap(setOpacity(pixmap, 0.15), QIcon::Disabled);
}
return icon;
}
//-----------------------------------------------------------------------------
QString toQString(const TFilePath &path) { QString toQString(const TFilePath &path) {
return QString::fromStdWString(path.getWideString()); return QString::fromStdWString(path.getWideString());
} }