Added replicant preferences view.
This commit is contained in:
parent
0696ce92db
commit
2f142c0d67
|
@ -0,0 +1,101 @@
|
|||
/*
|
||||
* Copyright 2010, Oliver Ruiz Dorantes. All rights reserved.
|
||||
* Copyright 2012, Dario Casalinuovo. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
|
||||
#include <Button.h>
|
||||
#include <CheckBox.h>
|
||||
#include <ControlLook.h>
|
||||
#include <Deskbar.h>
|
||||
#include <GroupLayout.h>
|
||||
#include <GroupLayoutBuilder.h>
|
||||
#include <ScrollView.h>
|
||||
#include <StringView.h>
|
||||
|
||||
#include "AccountManager.h"
|
||||
#include "CayaProtocol.h"
|
||||
#include "PreferencesReplicant.h"
|
||||
#include "CayaPreferences.h"
|
||||
#include "ProtocolManager.h"
|
||||
#include "ProtocolSettings.h"
|
||||
#include "MainWindow.h"
|
||||
#include "ReplicantStatusView.h"
|
||||
#include "TheApp.h"
|
||||
|
||||
const uint32 kDisableReplicant = 'DSrp';
|
||||
const uint32 kPermanentReplicant ='PRpt';
|
||||
const uint32 kHideCayaDeskbar = 'HCtk';
|
||||
|
||||
|
||||
PreferencesReplicant::PreferencesReplicant()
|
||||
: BView("Replicant", B_WILL_DRAW)
|
||||
{
|
||||
fReplicantString = new BStringView("ReplicantString", "Deskbar Replicant");
|
||||
fReplicantString->SetExplicitAlignment(BAlignment(B_ALIGN_LEFT, B_ALIGN_MIDDLE));
|
||||
fReplicantString->SetFont(be_bold_font);
|
||||
|
||||
fDisableReplicant = new BCheckBox("DisableReplicant",
|
||||
"Disable Deskbar replicant", new BMessage(kDisableReplicant));
|
||||
|
||||
fPermanentReplicant = new BCheckBox("PermanentReplicant",
|
||||
"Permanent Deskbar Replicant", NULL);
|
||||
fPermanentReplicant->SetEnabled(false);
|
||||
|
||||
fHideCayaDeskbar = new BCheckBox("HideCayaDeskbar",
|
||||
"Hide Caya field in Deskbar", new BMessage(kHideCayaDeskbar));
|
||||
fHideCayaDeskbar->SetEnabled(false);
|
||||
|
||||
const float spacing = be_control_look->DefaultItemSpacing();
|
||||
|
||||
SetLayout(new BGroupLayout(B_HORIZONTAL, spacing));
|
||||
AddChild(BGroupLayoutBuilder(B_VERTICAL)
|
||||
.Add(fReplicantString)
|
||||
.AddGroup(B_VERTICAL, spacing)
|
||||
.Add(fDisableReplicant)
|
||||
.Add(fPermanentReplicant)
|
||||
.Add(fHideCayaDeskbar)
|
||||
.SetInsets(spacing * 2, spacing, spacing, spacing)
|
||||
.End()
|
||||
.AddGlue()
|
||||
.SetInsets(spacing, spacing, spacing, spacing)
|
||||
.TopView()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
PreferencesReplicant::AttachedToWindow()
|
||||
{
|
||||
fHideCayaDeskbar->SetTarget(this);
|
||||
fDisableReplicant->SetTarget(this);
|
||||
|
||||
fHideCayaDeskbar->SetValue(
|
||||
CayaPreferences::Item()->HideCayaDeskbar);
|
||||
fDisableReplicant->SetValue(
|
||||
CayaPreferences::Item()->DisableReplicant);
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
PreferencesReplicant::MessageReceived(BMessage* message)
|
||||
{
|
||||
switch (message->what) {
|
||||
case kHideCayaDeskbar:
|
||||
CayaPreferences::Item()->HideCayaDeskbar
|
||||
= fHideCayaDeskbar->Value();
|
||||
break;
|
||||
case kDisableReplicant:
|
||||
CayaPreferences::Item()->DisableReplicant
|
||||
= fDisableReplicant->Value();
|
||||
|
||||
if (fDisableReplicant->Value() == true)
|
||||
ReplicantStatusView::RemoveReplicant();
|
||||
else
|
||||
ReplicantStatusView::InstallReplicant();
|
||||
|
||||
break;
|
||||
default:
|
||||
BView::MessageReceived(message);
|
||||
}
|
||||
}
|
|
@ -0,0 +1,29 @@
|
|||
/*
|
||||
* Copyright 2010, Oliver Ruiz Dorantes. All rights reserved.
|
||||
* Copyright 2012, Dario Casalinuovo. All rights reserved.
|
||||
* Distributed under the terms of the MIT License.
|
||||
*/
|
||||
#ifndef _PREFERENCES_REPLICANT_H
|
||||
#define _PREFERENCES_REPLICANT_H
|
||||
|
||||
#include <View.h>
|
||||
|
||||
class BCheckBox;
|
||||
class BStringView;
|
||||
|
||||
class PreferencesReplicant : public BView {
|
||||
public:
|
||||
PreferencesReplicant();
|
||||
|
||||
virtual void AttachedToWindow();
|
||||
virtual void MessageReceived(BMessage* msg);
|
||||
|
||||
private:
|
||||
BStringView* fReplicantString;
|
||||
BCheckBox* fDisableReplicant;
|
||||
BCheckBox* fPermanentReplicant;
|
||||
BCheckBox* fHideCayaDeskbar;
|
||||
|
||||
};
|
||||
|
||||
#endif // _PREFERENCES_REPLICANT_H
|
Ŝarĝante…
Reference in New Issue