* Added tab bar to top of main window with UI/shortcuts similar to web browsers * ComponentManager offers components for 2 use-cases: application and tab * Application components: log view (status/errors), bookmarks, screen search, status bar, tabs, tooltips, dialogs and all tab views disabled * Tab components: graph, code, history and search * When a project is loaded there is always at least one tab, otherwise there is none * Each tab replaces the application views of the same name in the main layout when activated * Each tab has it's own TaskScheduler, to process tasks independent from other tabs * The application has a global TaskScheduler for application wide tasks * The singloton class TaskManager is responsible for managing the TaskSchedulers * MessageListeners and Messages hold an optional schedulerId, both must be set to only send to a specific TaskScheduler * Bookmark buttons where split off into a separate view per tab, bookmark managemement is done in the application * History menu processing is done by the QtMainWindow now * Screen search is an application component, the responders are always changed to the active tab * Plugin messages are opened in a new tab * Symbols can be opened in a new tab via middle click/context menu in graph, code, history dropdown * Full text index creation is mutexed now in PersistenStorage to make it fully thread-safe * All tabs are closed when switching projects * Tab contents are only animated when visible fortune cookie message = Catch your lucky star!
82 lines
1.9 KiB
CSS
82 lines
1.9 KiB
CSS
QTabBar {
|
|
background-color: <color:tab/bar/background>;
|
|
border-bottom: 1px solid <color:tab/bar/border>;
|
|
font-size: <setting:font_size>px;
|
|
padding-left: 4px;
|
|
min-height: 30px;
|
|
}
|
|
|
|
QTabBar::tab {
|
|
background-color: <color:tab/bar/button/background/normal>;
|
|
border: 1px solid <color:tab/bar/border>;
|
|
border-top-left-radius: 11px;
|
|
border-top-right-radius: 11px;
|
|
color: <color:tab/bar/button/text/normal>;
|
|
min-height: 25px;
|
|
margin-left: 3px;
|
|
margin-top: 4px;
|
|
}
|
|
|
|
QTabBar::tab:hover {
|
|
background-color: <color:tab/bar/button/background/hover>;
|
|
color: <color:tab/bar/button/text/hover>;
|
|
}
|
|
|
|
QTabBar::tab:selected, QTabBar::tab:pressed {
|
|
background-color: <color:tab/bar/button/background/press>;
|
|
border-bottom: 1px solid <color:tab/bar/button/background/press>;
|
|
color: <color:tab/bar/button/text/press>;
|
|
}
|
|
|
|
#side_area {
|
|
background-color: <color:tab/bar/background>;
|
|
border-bottom: 1px solid <color:tab/bar/border>;
|
|
}
|
|
|
|
#type_circle {
|
|
background-color: <color:tab/bar/button/background/hover>;
|
|
border: 1px solid <color:tab/bar/button/border/normal>;
|
|
border-radius: 6px;
|
|
margin: 0;
|
|
height: 10px;
|
|
width: 10px;
|
|
margin-top: 3px;
|
|
margin-left: 6px;
|
|
}
|
|
|
|
#type_circle[selected=true] {
|
|
border: 1px solid <color:tab/bar/button/border/press>;
|
|
}
|
|
|
|
#close_button {
|
|
background-color: transparent;
|
|
border: 1px solid transparent;
|
|
border-radius: 8px;
|
|
color: <color:tab/bar/button/text/normal>;
|
|
font-size: 12px;
|
|
margin: 0;
|
|
height: 14px;
|
|
width: 14px;
|
|
margin-top: 5px;
|
|
margin-right: 0px;
|
|
}
|
|
|
|
#close_button:hover {
|
|
border: 1px solid <color:tab/bar/border>;
|
|
}
|
|
|
|
#add_button {
|
|
background-color: <color:tab/bar/button/background/hover>;
|
|
border: 1px solid <color:tab/bar/border>;
|
|
border-radius: 11px;
|
|
color: <color:tab/bar/button/text/normal>;
|
|
margin: 5px 0 3px 0;
|
|
height: 20px;
|
|
width: 20px;
|
|
}
|
|
|
|
#add_button:hover {
|
|
background-color: <color:tab/bar/button/background/press>;
|
|
color: <color:tab/bar/button/text/press>;
|
|
}
|