From 844ea151d043b34012933b62f091f1c6f15be5d1 Mon Sep 17 00:00:00 2001 From: shatty Date: Wed, 6 Nov 2002 23:03:34 +0000 Subject: [PATCH] added encodings menu for save and open file panel (not functional yet) git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1864 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/stylededit/StyledEditApp.cpp | 14 +++++++++--- src/apps/stylededit/StyledEditApp.h | 1 + src/apps/stylededit/StyledEditWindow.cpp | 27 +++++++++++++++--------- src/apps/stylededit/StyledEditWindow.h | 3 +++ 4 files changed, 32 insertions(+), 13 deletions(-) diff --git a/src/apps/stylededit/StyledEditApp.cpp b/src/apps/stylededit/StyledEditApp.cpp index ea17599af9..070504eed4 100644 --- a/src/apps/stylededit/StyledEditApp.cpp +++ b/src/apps/stylededit/StyledEditApp.cpp @@ -11,7 +11,15 @@ StyledEditApp * styled_edit_app; StyledEditApp::StyledEditApp() : BApplication(APP_SIGNATURE) { - fOpenPanel= new BFilePanel; + fOpenPanel= new BFilePanel(); + BMenuBar * menuBar = + dynamic_cast(fOpenPanel->Window()->FindView("MenuBar")); + + fOpenPanelEncodingMenu= new BMenu("Encoding"); + menuBar->AddItem(fOpenPanelEncodingMenu); + + // TODO: add encodings + fWindowCount= 0; fNext_Untitled_Window= 1; styled_edit_app = this; @@ -38,7 +46,7 @@ void StyledEditApp::OpenDocument() { new StyledEditWindow(windowRect,fNext_Untitled_Window++); - windowRect.OffsetBy(15,15); // todo: wrap around screen + windowRect.OffsetBy(15,15); // TODO: wrap around screen fWindowCount++; } @@ -46,7 +54,7 @@ void StyledEditApp::OpenDocument(entry_ref * ref) { new StyledEditWindow(windowRect,ref); - windowRect.OffsetBy(15,15); // todo: wrap around screen + windowRect.OffsetBy(15,15); // TODO: wrap around screen fWindowCount++; } diff --git a/src/apps/stylededit/StyledEditApp.h b/src/apps/stylededit/StyledEditApp.h index 9fc44d8fc0..ecb308c954 100644 --- a/src/apps/stylededit/StyledEditApp.h +++ b/src/apps/stylededit/StyledEditApp.h @@ -24,6 +24,7 @@ public: private: BFilePanel *fOpenPanel; + BMenu *fOpenPanelEncodingMenu; int32 fWindowCount; int32 fNext_Untitled_Window; diff --git a/src/apps/stylededit/StyledEditWindow.cpp b/src/apps/stylededit/StyledEditWindow.cpp index a62f440a2a..92ace8c8d3 100644 --- a/src/apps/stylededit/StyledEditWindow.cpp +++ b/src/apps/stylededit/StyledEditWindow.cpp @@ -12,6 +12,7 @@ #include #include #include +#include #include #include @@ -274,7 +275,16 @@ StyledEditWindow::InitWindow() /***************************MENUS ADDED***********************/ fSavePanel= new BFilePanel(B_SAVE_PANEL, new BMessenger(this), NULL, B_FILE_NODE, false); - + fSavePanelTextView = + dynamic_cast(fSavePanel->Window()->FindView("text view")); + BMenuBar * menuBar = + dynamic_cast(fSavePanel->Window()->FindView("MenuBar")); + + fSavePanelEncodingMenu= new BMenu("Encoding"); + menuBar->AddItem(fSavePanelEncodingMenu); + + // TODO: add encodings + } /***StyledEditWindow::Initwindow()***/ void @@ -656,18 +666,15 @@ StyledEditWindow::Save(BMessage *message) return err; } /***Save()***/ -#include -#include - status_t StyledEditWindow::SaveAs() { - BWindow * saveWindow = fSavePanel->Window(); - BTextControl * textView = - dynamic_cast(saveWindow->FindView("text view")); - if (textView) { - BAutolock lock(saveWindow); - textView->SetText(Title()); + // it's own scope allows the lock to be released before Show() + { + BAutolock lock(fSavePanel->Window()); + if (lock.IsLocked()) { + fSavePanelTextView->SetText(Title()); + } } fSavePanel->Show(); } diff --git a/src/apps/stylededit/StyledEditWindow.h b/src/apps/stylededit/StyledEditWindow.h index f593aa016c..1614669534 100644 --- a/src/apps/stylededit/StyledEditWindow.h +++ b/src/apps/stylededit/StyledEditWindow.h @@ -73,7 +73,10 @@ private: StyledEditView *fTextView; BScrollView *fScrollView; + BFilePanel *fSavePanel; + BTextControl *fSavePanelTextView; + BMenu *fSavePanelEncodingMenu; };