|
Packit |
8e9c33 |
#ifndef adwaita_h
|
|
Packit |
8e9c33 |
#define adwaita_h
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
/*************************************************************************
|
|
Packit |
8e9c33 |
* Copyright (C) 2014 by Hugo Pereira Da Costa <hugo.pereira@free.fr> *
|
|
Packit |
8e9c33 |
* *
|
|
Packit |
8e9c33 |
* This program is free software; you can redistribute it and/or modify *
|
|
Packit |
8e9c33 |
* it under the terms of the GNU General Public License as published by *
|
|
Packit |
8e9c33 |
* the Free Software Foundation; either version 2 of the License, or *
|
|
Packit |
8e9c33 |
* (at your option) any later version. *
|
|
Packit |
8e9c33 |
* *
|
|
Packit |
8e9c33 |
* This program is distributed in the hope that it will be useful, *
|
|
Packit |
8e9c33 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
|
Packit |
8e9c33 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
|
Packit |
8e9c33 |
* GNU General Public License for more details. *
|
|
Packit |
8e9c33 |
* *
|
|
Packit |
8e9c33 |
* You should have received a copy of the GNU General Public License *
|
|
Packit |
8e9c33 |
* along with this program; if not, write to the *
|
|
Packit |
8e9c33 |
* Free Software Foundation, Inc., *
|
|
Packit |
8e9c33 |
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
|
|
Packit |
8e9c33 |
*************************************************************************/
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
#include <QFlags>
|
|
Packit |
8e9c33 |
#include <QPointer>
|
|
Packit |
8e9c33 |
#include <QScopedPointer>
|
|
Packit |
8e9c33 |
#include <QWeakPointer>
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
namespace Adwaita
|
|
Packit |
8e9c33 |
{
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
//*@name convenience typedef
|
|
Packit |
8e9c33 |
//@{
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
#if QT_VERSION >= 0x050000
|
|
Packit |
8e9c33 |
//* scoped pointer convenience typedef
|
|
Packit |
8e9c33 |
template <typename T> using WeakPointer = QPointer<T>;
|
|
Packit |
8e9c33 |
#else
|
|
Packit |
8e9c33 |
//* scoped pointer convenience typedef
|
|
Packit |
8e9c33 |
template <typename T> using WeakPointer = QWeakPointer<T>;
|
|
Packit |
8e9c33 |
#endif
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
//* scoped pointer convenience typedef
|
|
Packit |
8e9c33 |
template <typename T> using ScopedPointer = QScopedPointer<T, QScopedPointerPodDeleter>;
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
//* disable QStringLiteral for older Qt version
|
|
Packit |
8e9c33 |
#if QT_VERSION < 0x050000
|
|
Packit |
8e9c33 |
using QStringLiteral = QString;
|
|
Packit |
8e9c33 |
#endif
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
//@}
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
//* Settings
|
|
Packit |
8e9c33 |
namespace Settings
|
|
Packit |
8e9c33 |
{
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
const bool SingleClick { true };
|
|
Packit |
8e9c33 |
const bool ShowIconsOnPushButtons { true };
|
|
Packit |
8e9c33 |
const int ToolButtonStyle { Qt::ToolButtonTextBesideIcon };
|
|
Packit |
8e9c33 |
const bool ShowIconsInMenuItems { true };
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
}
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
//* metrics
|
|
Packit |
8e9c33 |
enum Metrics
|
|
Packit |
8e9c33 |
{
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// frames
|
|
Packit |
8e9c33 |
Frame_FrameWidth = 4,
|
|
Packit |
8e9c33 |
Frame_FrameRadius = 4,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// layout
|
|
Packit |
8e9c33 |
Layout_TopLevelMarginWidth = 10,
|
|
Packit |
8e9c33 |
Layout_ChildMarginWidth = 6,
|
|
Packit |
8e9c33 |
Layout_DefaultSpacing = 6,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// line editors
|
|
Packit |
8e9c33 |
LineEdit_FrameWidth = 7,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// menu items
|
|
Packit |
8e9c33 |
Menu_FrameWidth = 0,
|
|
Packit |
8e9c33 |
MenuItem_MarginWidth = 5,
|
|
Packit |
8e9c33 |
MenuItem_ItemSpacing = 4,
|
|
Packit |
8e9c33 |
MenuItem_AcceleratorSpace = 16,
|
|
Packit |
8e9c33 |
MenuButton_IndicatorWidth = 20,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// combobox
|
|
Packit |
8e9c33 |
ComboBox_FrameWidth = 7,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// spinbox
|
|
Packit |
8e9c33 |
SpinBox_FrameWidth = LineEdit_FrameWidth,
|
|
Packit |
8e9c33 |
SpinBox_ArrowButtonWidth = 20,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// groupbox title margin
|
|
Packit |
8e9c33 |
GroupBox_TitleMarginWidth = 4,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// buttons
|
|
Packit |
8e9c33 |
Button_MinWidth = 80,
|
|
Packit |
8e9c33 |
Button_MarginWidth = 4,
|
|
Packit |
8e9c33 |
Button_ItemSpacing = 3,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// tool buttons
|
|
Packit |
8e9c33 |
ToolButton_MarginWidth = 6,
|
|
Packit |
8e9c33 |
ToolButton_ItemSpacing = 4,
|
|
Packit |
8e9c33 |
ToolButton_InlineIndicatorWidth = 12,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// checkboxes and radio buttons
|
|
Packit |
8e9c33 |
CheckBox_Size = 20,
|
|
Packit |
8e9c33 |
CheckBox_FocusMarginWidth = 3,
|
|
Packit |
8e9c33 |
CheckBox_ItemSpacing = 4,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// menubar items
|
|
Packit |
8e9c33 |
MenuBarItem_MarginWidth = 8,
|
|
Packit |
8e9c33 |
MenuBarItem_MarginHeight = 4,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// scrollbars
|
|
Packit |
8e9c33 |
ScrollBar_Extend = 14,
|
|
Packit |
8e9c33 |
ScrollBar_SliderWidth = 8,
|
|
Packit |
8e9c33 |
ScrollBar_MinSliderHeight = 24,
|
|
Packit |
8e9c33 |
ScrollBar_NoButtonHeight = (ScrollBar_Extend-ScrollBar_SliderWidth)/2,
|
|
Packit |
8e9c33 |
ScrollBar_SingleButtonHeight = 0,
|
|
Packit |
8e9c33 |
ScrollBar_DoubleButtonHeight = 0,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// toolbars
|
|
Packit |
8e9c33 |
ToolBar_FrameWidth = 2,
|
|
Packit |
8e9c33 |
ToolBar_HandleExtent = 10,
|
|
Packit |
8e9c33 |
ToolBar_HandleWidth = 6,
|
|
Packit |
8e9c33 |
ToolBar_SeparatorWidth = 8,
|
|
Packit |
8e9c33 |
ToolBar_ExtensionWidth = 20,
|
|
Packit |
8e9c33 |
ToolBar_ItemSpacing = 0,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// progressbars
|
|
Packit |
8e9c33 |
ProgressBar_BusyIndicatorSize = 24,
|
|
Packit |
8e9c33 |
ProgressBar_Thickness = 3,
|
|
Packit |
8e9c33 |
ProgressBar_ItemSpacing = 3,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// mdi title bar
|
|
Packit |
8e9c33 |
TitleBar_MarginWidth = 4,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// sliders
|
|
Packit |
8e9c33 |
Slider_TickLength = 4,
|
|
Packit |
8e9c33 |
Slider_TickMarginWidth = 6,
|
|
Packit |
8e9c33 |
Slider_GrooveThickness = 3,
|
|
Packit |
8e9c33 |
Slider_ControlThickness = 24,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// tabbar
|
|
Packit |
8e9c33 |
TabBar_TabMarginHeight = 9,
|
|
Packit |
8e9c33 |
TabBar_TabMarginWidth = 8,
|
|
Packit |
8e9c33 |
TabBar_TabMinWidth = 80,
|
|
Packit |
8e9c33 |
TabBar_TabMinHeight = 36,
|
|
Packit |
8e9c33 |
TabBar_TabItemSpacing = 8,
|
|
Packit |
8e9c33 |
TabBar_TabOverlap = 1,
|
|
Packit |
8e9c33 |
TabBar_BaseOverlap = 0,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// tab widget
|
|
Packit |
8e9c33 |
TabWidget_MarginWidth = 4,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// toolbox
|
|
Packit |
8e9c33 |
ToolBox_TabMinWidth = 80,
|
|
Packit |
8e9c33 |
ToolBox_TabItemSpacing = 4,
|
|
Packit |
8e9c33 |
ToolBox_TabMarginWidth = 8,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// tooltips
|
|
Packit |
8e9c33 |
ToolTip_FrameWidth = 3,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// scroll areas
|
|
Packit |
8e9c33 |
ScrollArea_FrameWidth = 2,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// list headers
|
|
Packit |
8e9c33 |
Header_MarginWidth = 3,
|
|
Packit |
8e9c33 |
Header_ItemSpacing = 2,
|
|
Packit |
8e9c33 |
Header_ArrowSize = 10,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// tree view
|
|
Packit |
8e9c33 |
ItemView_ArrowSize = 10,
|
|
Packit |
8e9c33 |
ItemView_ItemMarginWidth = 3,
|
|
Packit |
8e9c33 |
SidePanel_ItemMarginWidth = 4,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// splitter
|
|
Packit |
8e9c33 |
Splitter_SplitterWidth = 1,
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
// shadow dimensions
|
|
Packit |
8e9c33 |
Shadow_Overlap = 0
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
};
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
//* animation mode
|
|
Packit |
8e9c33 |
enum AnimationMode
|
|
Packit |
8e9c33 |
{
|
|
Packit |
8e9c33 |
AnimationNone = 0,
|
|
Packit |
8e9c33 |
AnimationHover = 0x1,
|
|
Packit |
8e9c33 |
AnimationFocus = 0x2,
|
|
Packit |
8e9c33 |
AnimationEnable = 0x4,
|
|
Packit |
8e9c33 |
AnimationPressed = 0x8
|
|
Packit |
8e9c33 |
};
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
Q_DECLARE_FLAGS(AnimationModes, AnimationMode)
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
//* corners
|
|
Packit |
8e9c33 |
enum Corner
|
|
Packit |
8e9c33 |
{
|
|
Packit |
8e9c33 |
CornerTopLeft = 0x1,
|
|
Packit |
8e9c33 |
CornerTopRight = 0x2,
|
|
Packit |
8e9c33 |
CornerBottomLeft = 0x4,
|
|
Packit |
8e9c33 |
CornerBottomRight = 0x8,
|
|
Packit |
8e9c33 |
CornersTop = CornerTopLeft|CornerTopRight,
|
|
Packit |
8e9c33 |
CornersBottom = CornerBottomLeft|CornerBottomRight,
|
|
Packit |
8e9c33 |
CornersLeft = CornerTopLeft|CornerBottomLeft,
|
|
Packit |
8e9c33 |
CornersRight = CornerTopRight|CornerBottomRight,
|
|
Packit |
8e9c33 |
AllCorners = CornerTopLeft|CornerTopRight|CornerBottomLeft|CornerBottomRight
|
|
Packit |
8e9c33 |
};
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
Q_DECLARE_FLAGS( Corners, Corner )
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
//* sides
|
|
Packit |
8e9c33 |
enum Side
|
|
Packit |
8e9c33 |
{
|
|
Packit |
8e9c33 |
SideNone = 0x0,
|
|
Packit |
8e9c33 |
SideLeft = 0x1,
|
|
Packit |
8e9c33 |
SideTop = 0x2,
|
|
Packit |
8e9c33 |
SideRight = 0x4,
|
|
Packit |
8e9c33 |
SideBottom = 0x8,
|
|
Packit |
8e9c33 |
AllSides = SideLeft|SideTop|SideRight|SideBottom
|
|
Packit |
8e9c33 |
};
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
Q_DECLARE_FLAGS( Sides, Side )
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
//* checkbox state
|
|
Packit |
8e9c33 |
enum CheckBoxState
|
|
Packit |
8e9c33 |
{
|
|
Packit |
8e9c33 |
CheckOff,
|
|
Packit |
8e9c33 |
CheckPartial,
|
|
Packit |
8e9c33 |
CheckOn,
|
|
Packit |
8e9c33 |
CheckAnimated
|
|
Packit |
8e9c33 |
};
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
//* radio button state
|
|
Packit |
8e9c33 |
enum RadioButtonState
|
|
Packit |
8e9c33 |
{
|
|
Packit |
8e9c33 |
RadioOff,
|
|
Packit |
8e9c33 |
RadioOn,
|
|
Packit |
8e9c33 |
RadioAnimated
|
|
Packit |
8e9c33 |
};
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
//* arrow orientation
|
|
Packit |
8e9c33 |
enum ArrowOrientation
|
|
Packit |
8e9c33 |
{
|
|
Packit |
8e9c33 |
ArrowNone,
|
|
Packit |
8e9c33 |
ArrowUp,
|
|
Packit |
8e9c33 |
ArrowDown,
|
|
Packit |
8e9c33 |
ArrowLeft,
|
|
Packit |
8e9c33 |
ArrowRight
|
|
Packit |
8e9c33 |
};
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
//* button type
|
|
Packit |
8e9c33 |
enum ButtonType
|
|
Packit |
8e9c33 |
{
|
|
Packit |
8e9c33 |
ButtonClose,
|
|
Packit |
8e9c33 |
ButtonMaximize,
|
|
Packit |
8e9c33 |
ButtonMinimize,
|
|
Packit |
8e9c33 |
ButtonRestore
|
|
Packit |
8e9c33 |
};
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
}
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
Q_DECLARE_OPERATORS_FOR_FLAGS( Adwaita::AnimationModes )
|
|
Packit |
8e9c33 |
Q_DECLARE_OPERATORS_FOR_FLAGS( Adwaita::Corners )
|
|
Packit |
8e9c33 |
Q_DECLARE_OPERATORS_FOR_FLAGS( Adwaita::Sides )
|
|
Packit |
8e9c33 |
|
|
Packit |
8e9c33 |
#endif
|