diff options
| author | Holger Freyther <[email protected]> | 2006-11-29 00:02:19 +0000 |
|---|---|---|
| committer | Holger Freyther <[email protected]> | 2006-11-29 00:02:19 +0000 |
| commit | f31a541925033c2ef5e27b85c099d47791b50121 (patch) | |
| tree | 11cc728aa7d247ca5b075776c438be0f381be765 /src/THOUGHTS.zecke | |
| parent | 68e81f7280c810e26cabf6cd2897b9dc8466f458 (diff) | |
Make it (almost) possible to have more than one Dolphin KMainWindow
Create a DolphinApplication, holding DolphinMainWindows and update
the code to use the DolphinView to get the MainWindow, or get a ptr
to the MainWindow directly. Or if all windows are effected go through
the DolphinApplication to update every mainwindow.
The UndowManager and ProgressIndicator have a rather strange relationship
and will need some more attention but as UndoManager will be killed
anyway I have skipped this.
More cleanup, debugging and thinking is needed.
svn path=/trunk/playground/utils/dolphin/; revision=608945
Diffstat (limited to 'src/THOUGHTS.zecke')
| -rw-r--r-- | src/THOUGHTS.zecke | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/THOUGHTS.zecke b/src/THOUGHTS.zecke new file mode 100644 index 000000000..3b9f383fc --- /dev/null +++ b/src/THOUGHTS.zecke @@ -0,0 +1,36 @@ +Zecke's Implementation Thoughts + + +Task: Kill the Dolphin Singleton +Reasoning: Have more than one Dolphin TLW +Approach: + 1. Create DolphinApplication to hold all TLW's. + 2. Make dolphin.h dolphomainwindow.h + 3. Change the Views to have a DolphinMainWindow + parameter + +Reasoning: + I find it more natural that the DolphinApplication + holds and controls the list of managed MainWindows and + will control the life time of them, specially deleting + them on exit. + The downside is that DolphinApplication and DolphinMainWindow + need to work together but this is managable + + Making DolphinView::mainWindow() public. Most users of the + current Dolphin::mainView have a pointer to the current view + already. We could pass a second pointer for the mainwindow each + time but the same can be achieved by using the appropriate + DolphinView::mainWindow. + Another approach would be to ask the DolphinView to execute + actions on the MainWindow like it is done with declareViewActive + in DolphinView. I'm not entirely sure which one wins but currently + using mainWindow() does not show any negative impact. + + 2 times Dolphin::mainWin was used to check if the view is current. + this can be made a method of of the view + + 1 time we want the viewChanged signal of our mainwindow to update, + the UrlNavigator could connect a signal to a signal to allow this + + 12 times this was used to access the actionCollection |
