Rework NetworkStatus to use a non-modal BAboutWindow
This commit is contained in:
parent
5bf91175bc
commit
730a45ee8f
|
@ -17,7 +17,7 @@ Application NetworkStatus :
|
||||||
RadioView.cpp
|
RadioView.cpp
|
||||||
WirelessNetworkMenuItem.cpp
|
WirelessNetworkMenuItem.cpp
|
||||||
|
|
||||||
: be $(HAIKU_LOCALE_LIBS) $(icon_libs) $(TARGET_NETWORK_LIBS)
|
: be libshared.a $(HAIKU_LOCALE_LIBS) $(icon_libs) $(TARGET_NETWORK_LIBS)
|
||||||
libbnetapi.so $(TARGET_LIBSTDC++)
|
libbnetapi.so $(TARGET_LIBSTDC++)
|
||||||
: NetworkStatus.rdef NetworkStatusIcons.rdef
|
: NetworkStatus.rdef NetworkStatusIcons.rdef
|
||||||
;
|
;
|
||||||
|
|
|
@ -23,6 +23,7 @@
|
||||||
#include <sys/sockio.h>
|
#include <sys/sockio.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
|
#include <AboutWindow.h>
|
||||||
#include <Alert.h>
|
#include <Alert.h>
|
||||||
#include <Application.h>
|
#include <Application.h>
|
||||||
#include <Catalog.h>
|
#include <Catalog.h>
|
||||||
|
@ -138,6 +139,9 @@ NetworkStatusView::NetworkStatusView(BMessage* archive)
|
||||||
|
|
||||||
NetworkStatusView::~NetworkStatusView()
|
NetworkStatusView::~NetworkStatusView()
|
||||||
{
|
{
|
||||||
|
// replicant deleted, destroy the about window
|
||||||
|
if (fAboutWindow != NULL)
|
||||||
|
fAboutWindow->Quit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -150,6 +154,7 @@ NetworkStatusView::_Init()
|
||||||
}
|
}
|
||||||
|
|
||||||
_UpdateBitmaps();
|
_UpdateBitmaps();
|
||||||
|
fAboutWindow = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -503,26 +508,22 @@ NetworkStatusView::MouseDown(BPoint point)
|
||||||
void
|
void
|
||||||
NetworkStatusView::_AboutRequested()
|
NetworkStatusView::_AboutRequested()
|
||||||
{
|
{
|
||||||
BString about = B_TRANSLATE(
|
if (fAboutWindow == NULL) {
|
||||||
"NetworkStatus\n\twritten by %1 and Hugo Santos\n\t%2, Haiku, Inc.\n"
|
const char* authors[] = {
|
||||||
);
|
"Axel Dörfler",
|
||||||
about.ReplaceFirst("%1", "Axel Dörfler");
|
"Hugo Santos",
|
||||||
// Append a new developer here
|
NULL
|
||||||
about.ReplaceFirst("%2", "Copyright 2007-2010");
|
};
|
||||||
// Append a new year here
|
|
||||||
BAlert* alert = new BAlert("about", about, B_TRANSLATE("OK"));
|
|
||||||
alert->SetFlags(alert->Flags() | B_CLOSE_ON_ESCAPE);
|
|
||||||
BTextView *view = alert->TextView();
|
|
||||||
BFont font;
|
|
||||||
|
|
||||||
view->SetStylable(true);
|
fAboutWindow = new BAboutWindow(
|
||||||
|
B_TRANSLATE_SYSTEM_NAME("NetworkStatus"), kSignature);
|
||||||
view->GetFont(&font);
|
fAboutWindow->AddCopyright(2007, "Haiku, Inc.");
|
||||||
font.SetSize(18);
|
fAboutWindow->AddAuthors(authors);
|
||||||
font.SetFace(B_BOLD_FACE);
|
fAboutWindow->Show();
|
||||||
view->SetFontAndColor(0, 13, &font);
|
} else if (fAboutWindow->IsHidden())
|
||||||
|
fAboutWindow->Show();
|
||||||
alert->Go();
|
else
|
||||||
|
fAboutWindow->Activate();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,8 @@
|
||||||
|
|
||||||
#include <map>
|
#include <map>
|
||||||
|
|
||||||
|
|
||||||
|
class BAboutWindow;
|
||||||
class BMessageRunner;
|
class BMessageRunner;
|
||||||
class BNetworkInterface;
|
class BNetworkInterface;
|
||||||
|
|
||||||
|
@ -64,6 +66,7 @@ class NetworkStatusView : public BView {
|
||||||
|
|
||||||
std::map<BString, int32>
|
std::map<BString, int32>
|
||||||
fInterfaceStatuses;
|
fInterfaceStatuses;
|
||||||
|
BAboutWindow* fAboutWindow;
|
||||||
bool fInDeskbar;
|
bool fInDeskbar;
|
||||||
BBitmap* fTrayIcons[kStatusCount];
|
BBitmap* fTrayIcons[kStatusCount];
|
||||||
BBitmap* fNotifyIcons[kStatusCount];
|
BBitmap* fNotifyIcons[kStatusCount];
|
||||||
|
|
Loading…
Reference in New Issue