Modified preferences dialog, better look for Replicant settings, added a new tab for Chat Window settings
This commit is contained in:
parent
f51f924b89
commit
cf7646fb00
|
@ -44,6 +44,7 @@ Application Caya :
|
||||||
PreferencesDialog.cpp
|
PreferencesDialog.cpp
|
||||||
PreferencesAccounts.cpp
|
PreferencesAccounts.cpp
|
||||||
PreferencesBehavior.cpp
|
PreferencesBehavior.cpp
|
||||||
|
PreferencesChatWindow.cpp
|
||||||
|
|
||||||
# views
|
# views
|
||||||
ContactPopUp.cpp
|
ContactPopUp.cpp
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2010, Oliver Ruiz Dorantes. All rights reserved.
|
* Copyright 2010, Oliver Ruiz Dorantes. All rights reserved.
|
||||||
|
* Copyright 2012, Dario Casalinuovo. All rights reserved.
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -21,7 +22,9 @@
|
||||||
|
|
||||||
const uint32 kToCurrentWorkspace = 'CBcw';
|
const uint32 kToCurrentWorkspace = 'CBcw';
|
||||||
const uint32 kActivateChatWindow = 'CBac';
|
const uint32 kActivateChatWindow = 'CBac';
|
||||||
const uint32 kIgnoreEmoticons = 'CBhe';
|
const uint32 kDisableReplicant = 'DSrp';
|
||||||
|
const uint32 kPermanentReplicant ='PRpt';
|
||||||
|
const uint32 kHideCayaTracker = 'HCtk';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -45,27 +48,26 @@ PreferencesBehavior::PreferencesBehavior()
|
||||||
"Play sound event", NULL);
|
"Play sound event", NULL);
|
||||||
fPlaySoundOnMessageReceived->SetEnabled(false); // not implemented
|
fPlaySoundOnMessageReceived->SetEnabled(false); // not implemented
|
||||||
|
|
||||||
fIgnoreEmoticons = new BCheckBox("IgnoreEmoticons",
|
|
||||||
"Ignore Emoticons",
|
|
||||||
new BMessage(kIgnoreEmoticons));
|
|
||||||
fIgnoreEmoticons->SetEnabled(true);
|
|
||||||
|
|
||||||
fMarkUnreadWindow = new BCheckBox("MarkUnreadWindow",
|
fMarkUnreadWindow = new BCheckBox("MarkUnreadWindow",
|
||||||
"Mark unread window chat", NULL);
|
"Mark unread window chat", NULL);
|
||||||
fMarkUnreadWindow->SetEnabled(false);
|
fMarkUnreadWindow->SetEnabled(false);
|
||||||
// not implemented
|
// not implemented
|
||||||
|
|
||||||
|
fReplicantString = new BStringView("ReplicantString", "Replicant");
|
||||||
|
fReplicantString->SetExplicitAlignment(BAlignment(B_ALIGN_LEFT, B_ALIGN_MIDDLE));
|
||||||
|
fReplicantString->SetFont(be_bold_font);
|
||||||
|
|
||||||
fDisableReplicant = new BCheckBox("DisableReplicant",
|
fDisableReplicant = new BCheckBox("DisableReplicant",
|
||||||
"Disable Deskbar replicant", NULL);
|
"Disable Deskbar replicant", NULL);
|
||||||
fDisableReplicant->SetEnabled(true);
|
fDisableReplicant->SetEnabled(true);
|
||||||
|
|
||||||
fPermanentReplicant = new BCheckBox("PermanentReplicant",
|
fPermanentReplicant = new BCheckBox("PermanentReplicant",
|
||||||
"Permanent Deskbar Replicant", NULL);
|
"Permanent Deskbar Replicant", NULL);
|
||||||
fPermanentReplicant->SetEnabled(true);
|
fPermanentReplicant->SetEnabled(false);
|
||||||
|
|
||||||
fHideCayaTracker = new BCheckBox("HideCayaTracker",
|
fHideCayaDeskbar = new BCheckBox("HideCayaDeskbar",
|
||||||
"Hide Caya in Tracker", NULL);
|
"Hide Caya field in Deskbar", NULL);
|
||||||
fHideCayaTracker->SetEnabled(false);
|
fHideCayaDeskbar->SetEnabled(true);
|
||||||
|
|
||||||
const float spacing = be_control_look->DefaultItemSpacing();
|
const float spacing = be_control_look->DefaultItemSpacing();
|
||||||
|
|
||||||
|
@ -77,12 +79,15 @@ PreferencesBehavior::PreferencesBehavior()
|
||||||
.Add(fActivateChatWindow)
|
.Add(fActivateChatWindow)
|
||||||
.Add(fMarkUnreadWindow)
|
.Add(fMarkUnreadWindow)
|
||||||
.Add(fPlaySoundOnMessageReceived)
|
.Add(fPlaySoundOnMessageReceived)
|
||||||
.Add(fDisableReplicant)
|
|
||||||
.Add(fPermanentReplicant)
|
|
||||||
.Add(fHideCayaTracker)
|
|
||||||
.SetInsets(spacing * 2, spacing, spacing, spacing)
|
.SetInsets(spacing * 2, spacing, spacing, spacing)
|
||||||
.End()
|
.End()
|
||||||
.Add(fIgnoreEmoticons)
|
.Add(fReplicantString)
|
||||||
|
.AddGroup(B_VERTICAL, spacing)
|
||||||
|
.Add(fDisableReplicant)
|
||||||
|
.Add(fPermanentReplicant)
|
||||||
|
.Add(fHideCayaDeskbar)
|
||||||
|
.SetInsets(spacing * 2, spacing, spacing, spacing)
|
||||||
|
.End()
|
||||||
.AddGlue()
|
.AddGlue()
|
||||||
.SetInsets(spacing, spacing, spacing, spacing)
|
.SetInsets(spacing, spacing, spacing, spacing)
|
||||||
.TopView()
|
.TopView()
|
||||||
|
@ -95,15 +100,11 @@ PreferencesBehavior::AttachedToWindow()
|
||||||
{
|
{
|
||||||
fToCurrentWorkspace->SetTarget(this);
|
fToCurrentWorkspace->SetTarget(this);
|
||||||
fActivateChatWindow->SetTarget(this);
|
fActivateChatWindow->SetTarget(this);
|
||||||
fIgnoreEmoticons->SetTarget(this);
|
|
||||||
|
|
||||||
fToCurrentWorkspace->SetValue(
|
fToCurrentWorkspace->SetValue(
|
||||||
CayaPreferences::Item()->MoveToCurrentWorkspace);
|
CayaPreferences::Item()->MoveToCurrentWorkspace);
|
||||||
fActivateChatWindow->SetValue(
|
fActivateChatWindow->SetValue(
|
||||||
CayaPreferences::Item()->ActivateWindow);
|
CayaPreferences::Item()->ActivateWindow);
|
||||||
fIgnoreEmoticons->SetValue(
|
|
||||||
CayaPreferences::Item()->IgnoreEmoticons);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -119,10 +120,6 @@ PreferencesBehavior::MessageReceived(BMessage* message)
|
||||||
CayaPreferences::Item()->ActivateWindow
|
CayaPreferences::Item()->ActivateWindow
|
||||||
= fActivateChatWindow->Value();
|
= fActivateChatWindow->Value();
|
||||||
break;
|
break;
|
||||||
case kIgnoreEmoticons:
|
|
||||||
CayaPreferences::Item()->IgnoreEmoticons
|
|
||||||
= fIgnoreEmoticons->Value();
|
|
||||||
break;
|
|
||||||
default:
|
default:
|
||||||
BView::MessageReceived(message);
|
BView::MessageReceived(message);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright 2010, Oliver Ruiz Dorantes. All rights reserved.
|
* Copyright 2010, Oliver Ruiz Dorantes. All rights reserved.
|
||||||
|
* Copyright 2012, Dario Casalinuovo. All rights reserved.
|
||||||
* Distributed under the terms of the MIT License.
|
* Distributed under the terms of the MIT License.
|
||||||
*/
|
*/
|
||||||
#ifndef _PREFERENCES_BEHAVIOR_H
|
#ifndef _PREFERENCES_BEHAVIOR_H
|
||||||
|
@ -25,11 +26,10 @@ private:
|
||||||
BCheckBox* fPlaySoundOnMessageReceived;
|
BCheckBox* fPlaySoundOnMessageReceived;
|
||||||
BCheckBox* fMarkUnreadWindow;
|
BCheckBox* fMarkUnreadWindow;
|
||||||
|
|
||||||
BCheckBox* fIgnoreEmoticons;
|
BStringView* fReplicantString;
|
||||||
|
|
||||||
BCheckBox* fDisableReplicant;
|
BCheckBox* fDisableReplicant;
|
||||||
BCheckBox* fPermanentReplicant;
|
BCheckBox* fPermanentReplicant;
|
||||||
BCheckBox* fHideCayaTracker;
|
BCheckBox* fHideCayaDeskbar;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,74 @@
|
||||||
|
/*
|
||||||
|
* Copyright 2010, Oliver Ruiz Dorantes. All rights reserved.
|
||||||
|
* Copyright 2012, Dario Casalinuovo. All rights reserved.
|
||||||
|
* Distributed under the terms of the MIT License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <CheckBox.h>
|
||||||
|
#include <ControlLook.h>
|
||||||
|
#include <GroupLayout.h>
|
||||||
|
#include <GroupLayoutBuilder.h>
|
||||||
|
#include <StringView.h>
|
||||||
|
|
||||||
|
#include "CayaProtocol.h"
|
||||||
|
#include "PreferencesChatWindow.h"
|
||||||
|
#include "CayaPreferences.h"
|
||||||
|
#include "ProtocolManager.h"
|
||||||
|
#include "ProtocolSettings.h"
|
||||||
|
#include "MainWindow.h"
|
||||||
|
#include "TheApp.h"
|
||||||
|
|
||||||
|
const uint32 kIgnoreEmoticons = 'CBhe';
|
||||||
|
|
||||||
|
|
||||||
|
PreferencesChatWindow::PreferencesChatWindow()
|
||||||
|
: BView("Chat Window", B_WILL_DRAW)
|
||||||
|
{
|
||||||
|
|
||||||
|
fChatWindowString = new BStringView("ChatWindowString", "Chat Window Settings");
|
||||||
|
fChatWindowString->SetExplicitAlignment(BAlignment(B_ALIGN_LEFT, B_ALIGN_MIDDLE));
|
||||||
|
fChatWindowString->SetFont(be_bold_font);
|
||||||
|
|
||||||
|
fIgnoreEmoticons = new BCheckBox("IgnoreEmoticons",
|
||||||
|
"Ignore Emoticons",
|
||||||
|
new BMessage(kIgnoreEmoticons));
|
||||||
|
fIgnoreEmoticons->SetEnabled(true);
|
||||||
|
|
||||||
|
const float spacing = be_control_look->DefaultItemSpacing();
|
||||||
|
|
||||||
|
SetLayout(new BGroupLayout(B_HORIZONTAL, spacing));
|
||||||
|
AddChild(BGroupLayoutBuilder(B_VERTICAL)
|
||||||
|
.Add(fChatWindowString)
|
||||||
|
.AddGroup(B_VERTICAL, spacing)
|
||||||
|
.Add(fIgnoreEmoticons)
|
||||||
|
.SetInsets(spacing * 2, spacing, spacing, spacing)
|
||||||
|
.End()
|
||||||
|
.AddGlue()
|
||||||
|
.SetInsets(spacing, spacing, spacing, spacing)
|
||||||
|
.TopView()
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
PreferencesChatWindow::AttachedToWindow()
|
||||||
|
{
|
||||||
|
fIgnoreEmoticons->SetTarget(this);
|
||||||
|
fIgnoreEmoticons->SetValue(
|
||||||
|
CayaPreferences::Item()->IgnoreEmoticons);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
PreferencesChatWindow::MessageReceived(BMessage* message)
|
||||||
|
{
|
||||||
|
switch (message->what) {
|
||||||
|
case kIgnoreEmoticons:
|
||||||
|
CayaPreferences::Item()->IgnoreEmoticons
|
||||||
|
= fIgnoreEmoticons->Value();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
BView::MessageReceived(message);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
/*
|
||||||
|
* 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_CHATWINDOW_H
|
||||||
|
#define _PREFERENCES_CHATWINDOW_H
|
||||||
|
|
||||||
|
#include <View.h>
|
||||||
|
|
||||||
|
class BCheckBox;
|
||||||
|
class BStringView;
|
||||||
|
|
||||||
|
class PreferencesChatWindow : public BView {
|
||||||
|
public:
|
||||||
|
PreferencesChatWindow();
|
||||||
|
|
||||||
|
virtual void AttachedToWindow();
|
||||||
|
virtual void MessageReceived(BMessage* msg);
|
||||||
|
|
||||||
|
private:
|
||||||
|
|
||||||
|
BStringView* fChatWindowString;
|
||||||
|
|
||||||
|
BCheckBox* fIgnoreEmoticons;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // _PREFERENCES_BEHAVIOR_H
|
|
@ -14,17 +14,19 @@
|
||||||
#include "PreferencesDialog.h"
|
#include "PreferencesDialog.h"
|
||||||
#include "PreferencesAccounts.h"
|
#include "PreferencesAccounts.h"
|
||||||
#include "PreferencesBehavior.h"
|
#include "PreferencesBehavior.h"
|
||||||
|
#include "PreferencesChatWindow.h"
|
||||||
|
|
||||||
const uint32 kApply = 'SAVE';
|
const uint32 kApply = 'SAVE';
|
||||||
|
|
||||||
|
|
||||||
PreferencesDialog::PreferencesDialog()
|
PreferencesDialog::PreferencesDialog()
|
||||||
: BWindow(BRect(0, 0, 400, 400), "Preferences", B_TITLED_WINDOW,
|
: BWindow(BRect(0, 0, 500, 500), "Preferences", B_TITLED_WINDOW,
|
||||||
B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_CLOSE_ON_ESCAPE)
|
B_NOT_RESIZABLE | B_NOT_ZOOMABLE | B_CLOSE_ON_ESCAPE)
|
||||||
{
|
{
|
||||||
BTabView* tabView = new BTabView("tabView", B_WIDTH_AS_USUAL);
|
BTabView* tabView = new BTabView("tabView", B_WIDTH_AS_USUAL);
|
||||||
tabView->AddTab(new PreferencesAccounts());
|
tabView->AddTab(new PreferencesAccounts());
|
||||||
tabView->AddTab(new PreferencesBehavior());
|
tabView->AddTab(new PreferencesBehavior());
|
||||||
|
tabView->AddTab(new PreferencesChatWindow());
|
||||||
|
|
||||||
BButton* ok = new BButton("OK", new BMessage(kApply));
|
BButton* ok = new BButton("OK", new BMessage(kApply));
|
||||||
|
|
||||||
|
|
Ŝarĝante…
Reference in New Issue