ui: Added tabs UI to top of main window (issue #215)
* 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!
This commit is contained in:
@@ -534,12 +534,21 @@
|
||||
<background>#808080</background>
|
||||
<border>#BEBEBE</border>
|
||||
<button>
|
||||
<text>white</text>
|
||||
<text>
|
||||
<normal>#CCC</normal>
|
||||
<hover>#CCC</hover>
|
||||
<press>white</press>
|
||||
</text>
|
||||
<border>
|
||||
<normal>#CCC</normal>
|
||||
<press>#EEE</press>
|
||||
</border>
|
||||
<background>
|
||||
<normal>#808080</normal>
|
||||
<hover>#505050</hover>
|
||||
<press>#494949</press>
|
||||
</background>
|
||||
<icon>#CCC</icon>
|
||||
</button>
|
||||
</bar>
|
||||
</tab>
|
||||
|
||||
@@ -67,7 +67,7 @@
|
||||
<text>black</text>
|
||||
</normal>
|
||||
<hover>
|
||||
<fill>#5EA071</fill>
|
||||
<fill>#6DB080</fill>
|
||||
<text>black</text>
|
||||
</hover>
|
||||
</command>
|
||||
@@ -508,12 +508,21 @@
|
||||
<background>#E0E0E0</background>
|
||||
<border>#BEBEBE</border>
|
||||
<button>
|
||||
<text>black</text>
|
||||
<text>
|
||||
<normal>#555</normal>
|
||||
<hover>#555</hover>
|
||||
<press>black</press>
|
||||
</text>
|
||||
<border>
|
||||
<normal>#888</normal>
|
||||
<press>#777</press>
|
||||
</border>
|
||||
<background>
|
||||
<normal>#E0E0E0</normal>
|
||||
<hover>#F0F0F0</hover>
|
||||
<press>#FFFFFF</press>
|
||||
</background>
|
||||
<icon>#555</icon>
|
||||
</button>
|
||||
</bar>
|
||||
</tab>
|
||||
|
||||
@@ -511,12 +511,21 @@
|
||||
<background>#555555</background>
|
||||
<border>#BEBEBE</border>
|
||||
<button>
|
||||
<text>white</text>
|
||||
<text>
|
||||
<normal>#AAA</normal>
|
||||
<hover>#AAA</hover>
|
||||
<press>white</press>
|
||||
</text>
|
||||
<border>
|
||||
<normal>#777</normal>
|
||||
<press>#999</press>
|
||||
</border>
|
||||
<background>
|
||||
<normal>#555555</normal>
|
||||
<hover>#2F2F2F</hover>
|
||||
<press>#272728</press>
|
||||
</background>
|
||||
<icon>#AAA</icon>
|
||||
</button>
|
||||
</bar>
|
||||
</tab>
|
||||
|
||||
@@ -13,6 +13,10 @@ QMainWindow::separator {
|
||||
width: 1px;
|
||||
}
|
||||
|
||||
QToolBar {
|
||||
border: none;
|
||||
}
|
||||
|
||||
QDockWidget {
|
||||
color: <color:window/dock/text>;
|
||||
font-size: 10pt;
|
||||
|
||||
@@ -15,7 +15,7 @@ QTabBar::tab {
|
||||
border: 1px solid <color:tab/bar/border>;
|
||||
border-top-left-radius: 7px;
|
||||
border-top-right-radius: 7px;
|
||||
color: <color:tab/bar/button/text>;
|
||||
color: <color:tab/bar/button/text/normal>;
|
||||
font-size: <setting:font_size>px;
|
||||
height: <setting:font_size+8>;
|
||||
margin-left: 3px;
|
||||
@@ -25,11 +25,13 @@ QTabBar::tab {
|
||||
|
||||
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>;
|
||||
}
|
||||
|
||||
QTabWidget #tab_content {
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 881 B |
Binary file not shown.
|
After Width: | Height: | Size: 639 B |
@@ -0,0 +1,81 @@
|
||||
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>;
|
||||
}
|
||||
Reference in New Issue
Block a user