added initial interface settings dialog
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40451 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -16,6 +16,7 @@
|
|||||||
|
|
||||||
#include "InterfacesAddOn.h"
|
#include "InterfacesAddOn.h"
|
||||||
#include "InterfacesListView.h"
|
#include "InterfacesListView.h"
|
||||||
|
#include "SettingsWindow.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
|
||||||
@@ -136,8 +137,8 @@ InterfacesAddOn::MessageReceived(BMessage* msg)
|
|||||||
if (!item)
|
if (!item)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
//NetworkWindow* nw = new NetworkWindow(item->GetSettings());
|
SettingsWindow* sw = new SettingsWindow(item->GetSettings());
|
||||||
//nw->Show();
|
sw->Show();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,7 @@ Addon Interfaces :
|
|||||||
InterfacesAddOn.cpp
|
InterfacesAddOn.cpp
|
||||||
InterfacesListView.cpp
|
InterfacesListView.cpp
|
||||||
NetworkSettings.cpp
|
NetworkSettings.cpp
|
||||||
|
SettingsWindow.cpp
|
||||||
|
|
||||||
# from src/apps/networkstatus
|
# from src/apps/networkstatus
|
||||||
RadioView.cpp
|
RadioView.cpp
|
||||||
|
|||||||
@@ -1,52 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2004-2008 Haiku Inc. All rights reserved.
|
|
||||||
* Distributed under the terms of the MIT License.
|
|
||||||
*
|
|
||||||
* Author:
|
|
||||||
* Andre Alves Garzia, [email protected]
|
|
||||||
* Fredrik Modéen
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "NetworkWindow.h"
|
|
||||||
|
|
||||||
#include <Application.h>
|
|
||||||
#include <GroupLayout.h>
|
|
||||||
|
|
||||||
#include "EthernetSettingsView.h"
|
|
||||||
#include "NetworkSettings.h"
|
|
||||||
|
|
||||||
|
|
||||||
NetworkWindow::NetworkWindow(NetworkSettings* settings)
|
|
||||||
: BWindow(BRect(50, 50, 269, 302), "Network", B_TITLED_WINDOW,
|
|
||||||
B_NOT_RESIZABLE | B_ASYNCHRONOUS_CONTROLS | B_NOT_ZOOMABLE
|
|
||||||
| B_AUTO_UPDATE_SIZE_LIMITS)
|
|
||||||
{
|
|
||||||
SetLayout(new BGroupLayout(B_HORIZONTAL));
|
|
||||||
fEthernetView = new EthernetSettingsView(); // settings);
|
|
||||||
GetLayout()->AddView(fEthernetView);
|
|
||||||
|
|
||||||
SetTitle(settings->Name());
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
NetworkWindow::~NetworkWindow()
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
NetworkWindow::MessageReceived(BMessage* message)
|
|
||||||
{
|
|
||||||
switch (message->what) {
|
|
||||||
default:
|
|
||||||
BWindow::MessageReceived(message);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
bool
|
|
||||||
NetworkWindow::QuitRequested()
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2004-2008 Haiku Inc. All rights reserved.
|
|
||||||
* Distributed under the terms of the MIT License.
|
|
||||||
*
|
|
||||||
* Author:
|
|
||||||
* Andre Alves Garzia, [email protected]
|
|
||||||
* Fredrik Modéen
|
|
||||||
*/
|
|
||||||
#ifndef NETWORK_WINDOW_H
|
|
||||||
#define NETWORK_WINDOW_H
|
|
||||||
|
|
||||||
|
|
||||||
#include <Window.h>
|
|
||||||
|
|
||||||
class Settings;
|
|
||||||
class EthernetSettingsView;
|
|
||||||
|
|
||||||
|
|
||||||
class NetworkWindow : public BWindow {
|
|
||||||
public:
|
|
||||||
NetworkWindow(Settings* setting);
|
|
||||||
virtual ~NetworkWindow();
|
|
||||||
virtual bool QuitRequested();
|
|
||||||
virtual void MessageReceived(BMessage* mesage);
|
|
||||||
|
|
||||||
private:
|
|
||||||
EthernetSettingsView* fEthernetView;
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif /* NETWORK_WINDOW_H */
|
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2004-2011 Haiku Inc. All rights reserved.
|
||||||
|
* Distributed under the terms of the MIT License.
|
||||||
|
*
|
||||||
|
* Authors:
|
||||||
|
* Alexander von Gluck, [email protected]
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include "SettingsWindow.h"
|
||||||
|
|
||||||
|
#include <Application.h>
|
||||||
|
|
||||||
|
#undef B_TRANSLATE_CONTEXT
|
||||||
|
#define B_TRANSLATE_CONTEXT "NetworkSetupWindow"
|
||||||
|
|
||||||
|
|
||||||
|
SettingsWindow::SettingsWindow(NetworkSettings* settings)
|
||||||
|
: BWindow(BRect(50, 50, 400, 302), "Interface Settings",
|
||||||
|
B_TITLED_WINDOW_LOOK, B_MODAL_APP_WINDOW_FEEL,
|
||||||
|
B_NOT_RESIZABLE | B_ASYNCHRONOUS_CONTROLS | B_NOT_ZOOMABLE
|
||||||
|
| B_AUTO_UPDATE_SIZE_LIMITS, B_CURRENT_WORKSPACE)
|
||||||
|
{
|
||||||
|
fNetworkSettings = settings;
|
||||||
|
|
||||||
|
fTabView = new BTabView("settings_tabs");
|
||||||
|
|
||||||
|
fApplyButton = new BButton("apply", B_TRANSLATE("Apply"),
|
||||||
|
new BMessage(APPLY_MSG));
|
||||||
|
|
||||||
|
fCancelButton = new BButton("cancel", B_TRANSLATE("Cancel"),
|
||||||
|
new BMessage(CANCEL_MSG));
|
||||||
|
|
||||||
|
fTabView->SetResizingMode(B_FOLLOW_ALL);
|
||||||
|
// ensure tab container matches window size
|
||||||
|
|
||||||
|
_PopulateTabs();
|
||||||
|
|
||||||
|
SetLayout(new BGroupLayout(B_VERTICAL));
|
||||||
|
|
||||||
|
AddChild(BGroupLayoutBuilder(B_VERTICAL, 10)
|
||||||
|
.Add(fTabView)
|
||||||
|
.AddGroup(B_HORIZONTAL, 5)
|
||||||
|
.AddGlue()
|
||||||
|
.Add(fCancelButton)
|
||||||
|
.Add(fApplyButton)
|
||||||
|
.End()
|
||||||
|
.SetInsets(10, 10, 10, 10)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
SettingsWindow::~SettingsWindow()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
SettingsWindow::MessageReceived(BMessage* message)
|
||||||
|
{
|
||||||
|
switch (message->what) {
|
||||||
|
default:
|
||||||
|
BWindow::MessageReceived(message);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
status_t
|
||||||
|
SettingsWindow::_PopulateTabs()
|
||||||
|
{
|
||||||
|
// TODO : Temporary, just to get example data
|
||||||
|
BRect frame = fTabView->Bounds();
|
||||||
|
BView* view4 = new BView(frame, "net_settings_ipv4",
|
||||||
|
B_FOLLOW_ALL_SIDES, B_WILL_DRAW);
|
||||||
|
BView* view6 = new BView(frame, "net_settings_ipv6",
|
||||||
|
B_FOLLOW_ALL_SIDES, B_WILL_DRAW);
|
||||||
|
|
||||||
|
BTab* tab4 = new BTab;
|
||||||
|
BTab* tab6 = new BTab;
|
||||||
|
|
||||||
|
fTabView->AddTab(view4, tab4);
|
||||||
|
tab4->SetLabel("IPv4");
|
||||||
|
|
||||||
|
fTabView->AddTab(view6, tab6);
|
||||||
|
tab6->SetLabel("IPv6");
|
||||||
|
|
||||||
|
return B_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool
|
||||||
|
SettingsWindow::QuitRequested()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2004-2011 Haiku Inc. All rights reserved.
|
||||||
|
* Distributed under the terms of the MIT License.
|
||||||
|
*
|
||||||
|
* Authors:
|
||||||
|
* Alexander von Gluck, [email protected]
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef SETTINGS_WINDOW_H
|
||||||
|
#define SETTINGS_WINDOW_H
|
||||||
|
|
||||||
|
#include "NetworkSettings.h"
|
||||||
|
|
||||||
|
#include <Button.h>
|
||||||
|
#include <Catalog.h>
|
||||||
|
#include <GroupLayout.h>
|
||||||
|
#include <GroupLayoutBuilder.h>
|
||||||
|
#include <TabView.h>
|
||||||
|
#include <Window.h>
|
||||||
|
|
||||||
|
|
||||||
|
enum {
|
||||||
|
APPLY_MSG = 'aply',
|
||||||
|
CANCEL_MSG = 'cncl'
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
class SettingsWindow : public BWindow {
|
||||||
|
public:
|
||||||
|
SettingsWindow(NetworkSettings* settings);
|
||||||
|
virtual ~SettingsWindow();
|
||||||
|
virtual bool QuitRequested();
|
||||||
|
virtual void MessageReceived(BMessage* mesage);
|
||||||
|
|
||||||
|
private:
|
||||||
|
status_t _PopulateTabs();
|
||||||
|
|
||||||
|
NetworkSettings* fNetworkSettings;
|
||||||
|
BButton* fApplyButton;
|
||||||
|
BButton* fCancelButton;
|
||||||
|
BTabView* fTabView;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* SETTINGS_WINDOW_H */
|
||||||
|
|
||||||
Reference in New Issue
Block a user