Update window title with file name when it is known.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41213 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -281,7 +281,6 @@ MainWindow::MessageReceived(BMessage* message)
|
|||||||
if (message->FindRef("directory", &ref) == B_OK
|
if (message->FindRef("directory", &ref) == B_OK
|
||||||
&& message->FindString("name", &name) == B_OK) {
|
&& message->FindString("name", &name) == B_OK) {
|
||||||
// this message comes from the file panel
|
// this message comes from the file panel
|
||||||
printf("file panel result\n");
|
|
||||||
BDirectory dir(&ref);
|
BDirectory dir(&ref);
|
||||||
BEntry entry;
|
BEntry entry;
|
||||||
if (dir.InitCheck() >= B_OK
|
if (dir.InitCheck() >= B_OK
|
||||||
@@ -296,6 +295,7 @@ MainWindow::MessageReceived(BMessage* message)
|
|||||||
fDocument->SetNativeSaver(saver);
|
fDocument->SetNativeSaver(saver);
|
||||||
else
|
else
|
||||||
fDocument->SetExportSaver(saver);
|
fDocument->SetExportSaver(saver);
|
||||||
|
_UpdateWindowTitle();
|
||||||
fDocument->WriteUnlock();
|
fDocument->WriteUnlock();
|
||||||
}
|
}
|
||||||
saver->Save(fDocument);
|
saver->Save(fDocument);
|
||||||
@@ -305,24 +305,13 @@ MainWindow::MessageReceived(BMessage* message)
|
|||||||
// TODO: ...
|
// TODO: ...
|
||||||
// _SyncPanels(fSavePanel, fOpenPanel);
|
// _SyncPanels(fSavePanel, fOpenPanel);
|
||||||
} else {
|
} else {
|
||||||
printf("configure file panel\n");
|
|
||||||
// configure the file panel
|
// configure the file panel
|
||||||
const char* saveText = NULL;
|
|
||||||
FileSaver* saver = dynamic_cast<FileSaver*>(
|
|
||||||
fDocument->NativeSaver());
|
|
||||||
if (saver != NULL)
|
|
||||||
saveText = saver->Ref()->name;
|
|
||||||
|
|
||||||
uint32 requestRefWhat = MSG_SAVE_AS;
|
uint32 requestRefWhat = MSG_SAVE_AS;
|
||||||
bool isExportMode = message->what == MSG_EXPORT_AS
|
bool isExportMode = message->what == MSG_EXPORT_AS
|
||||||
|| message->what == MSG_EXPORT;
|
|| message->what == MSG_EXPORT;
|
||||||
if (isExportMode) {
|
if (isExportMode)
|
||||||
requestRefWhat = MSG_EXPORT_AS;
|
requestRefWhat = MSG_EXPORT_AS;
|
||||||
saver = dynamic_cast<FileSaver*>(
|
const char* saveText = _FileName(isExportMode);
|
||||||
fDocument->ExportSaver());
|
|
||||||
if (saver != NULL && saver->Ref()->name != NULL)
|
|
||||||
saveText = saver->Ref()->name;
|
|
||||||
}
|
|
||||||
|
|
||||||
BMessage requestRef(requestRefWhat);
|
BMessage requestRef(requestRefWhat);
|
||||||
if (saveText != NULL)
|
if (saveText != NULL)
|
||||||
@@ -744,6 +733,8 @@ MainWindow::Open(const entry_ref& ref, bool append)
|
|||||||
locker.Unlock();
|
locker.Unlock();
|
||||||
|
|
||||||
SetIcon(icon);
|
SetIcon(icon);
|
||||||
|
|
||||||
|
_UpdateWindowTitle();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1369,4 +1360,34 @@ MainWindow::_CreateSaver(const entry_ref& ref, uint32 exportMode)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
const char*
|
||||||
|
MainWindow::_FileName(bool preferExporter) const
|
||||||
|
{
|
||||||
|
FileSaver* saver1;
|
||||||
|
FileSaver* saver2;
|
||||||
|
if (preferExporter) {
|
||||||
|
saver1 = dynamic_cast<FileSaver*>(fDocument->ExportSaver());
|
||||||
|
saver2 = dynamic_cast<FileSaver*>(fDocument->NativeSaver());
|
||||||
|
} else {
|
||||||
|
saver1 = dynamic_cast<FileSaver*>(fDocument->NativeSaver());
|
||||||
|
saver2 = dynamic_cast<FileSaver*>(fDocument->ExportSaver());
|
||||||
|
}
|
||||||
|
const char* fileName = NULL;
|
||||||
|
if (saver1 != NULL)
|
||||||
|
fileName = saver1->Ref()->name;
|
||||||
|
if ((fileName == NULL || fileName[0] == '\0') && saver2 != NULL)
|
||||||
|
fileName = saver2->Ref()->name;
|
||||||
|
return fileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
MainWindow::_UpdateWindowTitle()
|
||||||
|
{
|
||||||
|
const char* fileName = _FileName(false);
|
||||||
|
if (fileName != NULL)
|
||||||
|
SetTitle(fileName);
|
||||||
|
else
|
||||||
|
SetTitle(B_TRANSLATE_SYSTEM_NAME("Icon-O-Matic"));
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -90,6 +90,9 @@ private:
|
|||||||
DocumentSaver* _CreateSaver(const entry_ref& ref,
|
DocumentSaver* _CreateSaver(const entry_ref& ref,
|
||||||
uint32 exportMode);
|
uint32 exportMode);
|
||||||
|
|
||||||
|
const char* _FileName(bool preferExporter) const;
|
||||||
|
void _UpdateWindowTitle();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
IconEditorApp* fApp;
|
IconEditorApp* fApp;
|
||||||
Document* fDocument;
|
Document* fDocument;
|
||||||
|
|||||||
Reference in New Issue
Block a user