If all opened windows are maximized we can switch between them only by using "Windows" menu. With patch all windows will be added to tabbar and we can switch between them by one click. Patch create 2 methods in DCConnectionManager - addTab(QWidget*, QString) and remTab(QWidget*). Chat windows don't use these methods.
Click at close button hides main window. Exit - from File->Quit or by rb-click at tray -> Quit.
Disablig/Enabling chat by rb-click at chat output and setting "Enable/Disable chat"
patch
If you want a hideously broken user interface design, can't you just use View mode -> Tabs ?
It would be better to replace the QMdiArea with a QTabWidget rather than keep using the QMdiArea whilst always wishing it were a QTabWidget.
Chat is an advantage the DC network has over other networks. I don't really see any advantage in having every other program live in the notification area. Currently the tray icon does almost nothing, and could be removed.
I hope you've already read: http://wxdcgui.sourceforge.net/the-end.html and/or dclib/HACKING (yes that was a long time ago).
I dont think so. Just loook at http://pic.ipicture.ru/uploads/090714/ME1j7i2XkU.png
It's a hideously broken user interface? No. If i have more then 5 opened windows then switching between them with old interface is awful and inconvenient.
> I hope you've already read: http://wxdcgui.sourceforge.net/the-end.html and/or dclib/HACKING (yes that was a long time ago).
Yes, I do.
There aren't any maximized windows in that screenshot. You can switch between the windows by clicking on them!
By "hideously broken interface" I was referring to all windows always maximized.
What you first described, all windows maximized, is tabs mode. NB you can "break" tabs mode by restoring (un-maximizing) any window, you get to keep the tabs bar.
http://wxdcgui.sourceforge.net/tabs-mode.png
http://wxdcgui.sourceforge.net/broken-tabs-mode.png
> There aren't any maximized windows in that screenshot.
sorry, http://pic.ipicture.ru/uploads/090714/l1xWbRsKKt.png - looks more better than http://wxdcgui.sourceforge.net/tabs-mode.png with 2(!) tabbars.
>You can switch between the windows by clicking on them!
lol i know. but it not always conveniently.
In tabs mode, you can hide the hubs tab bar.
It's easier to switch between hubs if the hubs tab bar doesn't also contain filelist and search windows.
Why do you need to reimplement a mousePressEvent to change the current tab and emit currentChanged, doesn't QTabBar do that anyway on left click? I see you've also added a quit button to the toolbar and also changed what happens when you double click text.
Isn't the patch somewhat broken, the DCConnectionManager code relies on m_ClientsInTabOrder.indexOf(client) returning the correct tab index, you've added other tabs so this no longer holds, but only changed slotTabSelected to use your map, everything else that uses m_ClientsInTabOrder.indexOf(client) will be broken.
> Why do you need to reimplement a mousePressEvent to change the current tab and emit currentChanged, doesn't QTabBar do that anyway on left click?
Don't care about DCTabBar class and use QTabBar. I have created DCtabBar for adding new feature - moving tabs, but it experimental: i just forget to remove it.
> I see you've also added a quit button to the toolbar and also changed what happens when you double click text.
Quit button - useless for me, but useful for my friends. Double click at nick add to chat output "Nick: " - useful thing. isn't?
> Isn't the patch somewhat broken, the DCConnectionManager code relies on m_ClientsInTabOrder.indexOf(client) returning the correct tab index, you've added other tabs so this no longer holds, but only changed slotTabSelected
to use your map, everything else that uses m_ClientsInTabOrder.indexOf(client) will be broken.
i'll fix this problem.
dependence from m_ClientsInTabOrder removed