616 lines
18 KiB
C++
616 lines
18 KiB
C++
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
|
|
*
|
|
* The contents of this file are subject to the Netscape Public
|
|
* License Version 1.1 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.mozilla.org/NPL/
|
|
*
|
|
* Software distributed under the License is distributed on an "AS
|
|
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
* implied. See the License for the specific language governing
|
|
* rights and limitations under the License.
|
|
*
|
|
* The Original Code is mozilla.org code.
|
|
*
|
|
* The Initial Developer of the Original Code is Netscape
|
|
* Communications Corporation. Portions created by Netscape are
|
|
* Copyright (C) 1998 Netscape Communications Corporation. All
|
|
* Rights Reserved.
|
|
*
|
|
* Contributor(s):
|
|
*/
|
|
/*
|
|
PrefsMsgMore.cpp -- The more dialog for Mail messages preference
|
|
Created: Linda Wei <lwei@netscape.com>, 04-Mar-97.
|
|
*/
|
|
|
|
|
|
|
|
#include "felocale.h"
|
|
#include "structs.h"
|
|
#include "fonts.h"
|
|
#include "xpassert.h"
|
|
#include "xfe.h"
|
|
#include "e_kit.h"
|
|
#include "prefapi.h"
|
|
#include "PrefsMsgMore.h"
|
|
|
|
#include <Xm/Label.h>
|
|
#include <Xm/LabelG.h>
|
|
#include <Xm/PushB.h>
|
|
#include <Xm/PushBG.h>
|
|
#include <Xm/ToggleB.h>
|
|
#include <Xm/Form.h>
|
|
#include <Xm/Frame.h>
|
|
#include <Xm/TextF.h>
|
|
#include <Xm/ToggleBG.h>
|
|
|
|
extern int XFE_ERROR_SAVING_OPTIONS;
|
|
|
|
extern "C"
|
|
{
|
|
char *XP_GetString(int i);
|
|
}
|
|
|
|
// ==================== Public Member Functions ====================
|
|
|
|
// Member: XFE_PrefsMsgMoreDialog
|
|
// Description: Constructor
|
|
// Inputs:
|
|
// Side effects: Creates the More dialog for Mail Messages Preferences
|
|
|
|
XFE_PrefsMsgMoreDialog::XFE_PrefsMsgMoreDialog(XFE_PrefsDialog *prefsDialog,
|
|
Widget parent, // dialog parent
|
|
char *name, // dialog name
|
|
Boolean modal) // modal dialog?
|
|
: XFE_Dialog(parent,
|
|
name,
|
|
TRUE, // ok
|
|
TRUE, // cancel
|
|
FALSE, // help
|
|
FALSE, // apply
|
|
FALSE, // separator
|
|
modal // modal
|
|
),
|
|
m_prefsDialog(prefsDialog),
|
|
m_prefsDataMsgMore(0)
|
|
{
|
|
PrefsDataMsgMore *fep = NULL;
|
|
|
|
fep = new PrefsDataMsgMore;
|
|
memset(fep, 0, sizeof(PrefsDataMsgMore));
|
|
m_prefsDataMsgMore = fep;
|
|
|
|
Widget form;
|
|
Widget names_and_nicknames_toggle;
|
|
Widget nicknames_only_toggle;
|
|
Widget eight_bit_toggle;
|
|
Widget quoted_printable_toggle;
|
|
Widget kids[100];
|
|
Arg av[50];
|
|
int ac;
|
|
int i;
|
|
|
|
form = XtVaCreateWidget("form", xmFormWidgetClass, m_chrome,
|
|
XmNmarginWidth, 8,
|
|
XmNtopAttachment, XmATTACH_FORM,
|
|
XmNleftAttachment, XmATTACH_FORM,
|
|
XmNrightAttachment, XmATTACH_FORM,
|
|
XmNbottomAttachment, XmATTACH_FORM,
|
|
NULL);
|
|
XtManageChild (form);
|
|
|
|
// Addressing messages
|
|
|
|
Widget frame1;
|
|
|
|
ac = 0;
|
|
XtSetArg (av [ac], XmNleftAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNrightAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNtopAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNbottomAttachment, XmATTACH_NONE); ac++;
|
|
frame1 = XmCreateFrame (form, "addressFrame", av, ac);
|
|
|
|
Widget form1;
|
|
|
|
ac = 0;
|
|
XtSetArg (av [ac], XmNleftAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNrightAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNtopAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNbottomAttachment, XmATTACH_FORM); ac++;
|
|
form1 = XmCreateForm (frame1, "addressBox", av, ac);
|
|
|
|
Widget label1;
|
|
|
|
ac = 0;
|
|
XtSetArg (av [ac], XmNchildType, XmFRAME_TITLE_CHILD); ac++;
|
|
label1 = XmCreateLabelGadget (frame1, "addressingLabel", av, ac);
|
|
|
|
ac = 0;
|
|
i = 0;
|
|
|
|
kids [i++] = names_and_nicknames_toggle =
|
|
XmCreateToggleButtonGadget(form1, "nameAndNicknamesToggle", av, ac);
|
|
|
|
kids [i++] = nicknames_only_toggle =
|
|
XmCreateToggleButtonGadget(form1, "nicknamesOnlyToggle", av, ac);
|
|
|
|
fep->names_and_nicknames_toggle = names_and_nicknames_toggle;
|
|
fep->nicknames_only_toggle = nicknames_only_toggle;
|
|
|
|
XtVaSetValues(names_and_nicknames_toggle,
|
|
XmNalignment, XmALIGNMENT_BEGINNING,
|
|
XmNindicatorType, XmONE_OF_MANY,
|
|
XmNtopAttachment, XmATTACH_FORM,
|
|
XmNleftAttachment, XmATTACH_FORM,
|
|
XmNleftOffset, 16,
|
|
XmNrightAttachment, XmATTACH_NONE,
|
|
XmNbottomAttachment, XmATTACH_NONE,
|
|
NULL);
|
|
|
|
XtVaSetValues(nicknames_only_toggle,
|
|
XmNalignment, XmALIGNMENT_BEGINNING,
|
|
XmNindicatorType, XmONE_OF_MANY,
|
|
XmNtopAttachment, XmATTACH_WIDGET,
|
|
XmNtopWidget, names_and_nicknames_toggle,
|
|
XmNleftAttachment, XmATTACH_OPPOSITE_WIDGET,
|
|
XmNleftWidget, names_and_nicknames_toggle,
|
|
XmNrightAttachment, XmATTACH_NONE,
|
|
XmNbottomAttachment, XmATTACH_NONE,
|
|
NULL);
|
|
|
|
XtManageChildren(kids, i);
|
|
XtManageChild(label1);
|
|
XtManageChild(form1);
|
|
XtManageChild(frame1);
|
|
|
|
// Send messages that use 8-bit characters
|
|
|
|
Widget frame2;
|
|
|
|
ac = 0;
|
|
XtSetArg (av [ac], XmNleftAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNrightAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNtopAttachment, XmATTACH_WIDGET); ac++;
|
|
XtSetArg (av [ac], XmNtopWidget, frame1); ac++;
|
|
XtSetArg (av [ac], XmNtopOffset, 8); ac++;
|
|
XtSetArg (av [ac], XmNbottomAttachment, XmATTACH_NONE); ac++;
|
|
frame2 = XmCreateFrame (form, "frame2", av, ac);
|
|
|
|
Widget form2;
|
|
|
|
ac = 0;
|
|
XtSetArg (av [ac], XmNleftAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNrightAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNtopAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNbottomAttachment, XmATTACH_FORM); ac++;
|
|
form2 = XmCreateForm (frame2, "frame2Box", av, ac);
|
|
|
|
Widget label2;
|
|
|
|
ac = 0;
|
|
XtSetArg (av [ac], XmNchildType, XmFRAME_TITLE_CHILD); ac++;
|
|
label2 = XmCreateLabelGadget (frame2, "composeLabel", av, ac);
|
|
|
|
ac = 0;
|
|
i = 0;
|
|
|
|
kids [i++] = eight_bit_toggle =
|
|
XmCreateToggleButtonGadget(form2, "8bitToggle", av, ac);
|
|
|
|
kids[i++] = quoted_printable_toggle =
|
|
XmCreateToggleButtonGadget(form2, "qpToggle", av, ac);
|
|
|
|
fep->eight_bit_toggle = eight_bit_toggle;
|
|
fep->quoted_printable_toggle = quoted_printable_toggle;
|
|
|
|
XtVaSetValues(eight_bit_toggle,
|
|
XmNalignment, XmALIGNMENT_BEGINNING,
|
|
XmNindicatorType, XmONE_OF_MANY,
|
|
XmNtopAttachment, XmATTACH_FORM,
|
|
XmNleftAttachment, XmATTACH_FORM,
|
|
XmNleftOffset, 16,
|
|
XmNrightAttachment, XmATTACH_NONE,
|
|
XmNbottomAttachment, XmATTACH_NONE,
|
|
NULL);
|
|
|
|
XtVaSetValues(quoted_printable_toggle,
|
|
XmNalignment, XmALIGNMENT_BEGINNING,
|
|
XmNindicatorType, XmONE_OF_MANY,
|
|
XmNtopAttachment, XmATTACH_WIDGET,
|
|
XmNtopWidget, eight_bit_toggle,
|
|
XmNleftAttachment, XmATTACH_OPPOSITE_WIDGET,
|
|
XmNleftWidget, eight_bit_toggle,
|
|
XmNrightAttachment, XmATTACH_NONE,
|
|
XmNbottomAttachment, XmATTACH_NONE,
|
|
NULL);
|
|
|
|
fep->eight_bit_toggle = eight_bit_toggle;
|
|
fep->quoted_printable_toggle = quoted_printable_toggle;
|
|
|
|
XtManageChildren(kids, i);
|
|
XtManageChild(label2);
|
|
XtManageChild(form2);
|
|
XtManageChild(frame2);
|
|
|
|
// Sending messages
|
|
|
|
Widget frame3;
|
|
|
|
ac = 0;
|
|
XtSetArg (av [ac], XmNleftAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNrightAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNtopAttachment, XmATTACH_WIDGET); ac++;
|
|
XtSetArg (av [ac], XmNtopWidget, frame2); ac++;
|
|
XtSetArg (av [ac], XmNtopOffset, 8); ac++;
|
|
XtSetArg (av [ac], XmNbottomAttachment, XmATTACH_NONE); ac++;
|
|
frame3 = XmCreateFrame (form, "frame3", av, ac);
|
|
|
|
Widget form3;
|
|
|
|
ac = 0;
|
|
XtSetArg (av [ac], XmNleftAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNrightAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNtopAttachment, XmATTACH_FORM); ac++;
|
|
XtSetArg (av [ac], XmNbottomAttachment, XmATTACH_FORM); ac++;
|
|
form3 = XmCreateForm (frame3, "frame3Box", av, ac);
|
|
|
|
Widget label3;
|
|
|
|
ac = 0;
|
|
XtSetArg (av [ac], XmNchildType, XmFRAME_TITLE_CHILD); ac++;
|
|
XtSetArg (av [ac], XmNalignment, XmALIGNMENT_BEGINNING); ac++;
|
|
label3 = XmCreateLabelGadget (frame3, "sendLabel", av, ac);
|
|
|
|
Widget ask_toggle;
|
|
Widget send_text_toggle;
|
|
Widget send_html_toggle;
|
|
Widget send_both_toggle;
|
|
|
|
ac = 0;
|
|
i = 0;
|
|
|
|
kids [i++] = ask_toggle =
|
|
XmCreateToggleButtonGadget(form3, "askToggle", av, ac);
|
|
|
|
kids[i++] = send_text_toggle =
|
|
XmCreateToggleButtonGadget(form3, "sendTextToggle", av, ac);
|
|
|
|
kids[i++] = send_html_toggle =
|
|
XmCreateToggleButtonGadget(form3, "sendHtmlToggle", av, ac);
|
|
|
|
kids[i++] = send_both_toggle =
|
|
XmCreateToggleButtonGadget(form3, "sendBothToggle", av, ac);
|
|
|
|
fep->ask_toggle = ask_toggle;
|
|
fep->send_text_toggle = send_text_toggle;
|
|
fep->send_html_toggle = send_html_toggle;
|
|
fep->send_both_toggle = send_both_toggle;
|
|
|
|
XtVaSetValues(ask_toggle,
|
|
XmNalignment, XmALIGNMENT_BEGINNING,
|
|
XmNindicatorType, XmONE_OF_MANY,
|
|
XmNtopAttachment, XmATTACH_FORM,
|
|
XmNleftAttachment, XmATTACH_FORM,
|
|
XmNleftOffset, 16,
|
|
XmNrightAttachment, XmATTACH_NONE,
|
|
XmNbottomAttachment, XmATTACH_NONE,
|
|
NULL);
|
|
|
|
XtVaSetValues(send_text_toggle,
|
|
XmNalignment, XmALIGNMENT_BEGINNING,
|
|
XmNindicatorType, XmONE_OF_MANY,
|
|
XmNtopAttachment, XmATTACH_WIDGET,
|
|
XmNtopWidget, ask_toggle,
|
|
XmNleftAttachment, XmATTACH_OPPOSITE_WIDGET,
|
|
XmNleftWidget, ask_toggle,
|
|
XmNrightAttachment, XmATTACH_NONE,
|
|
XmNbottomAttachment, XmATTACH_NONE,
|
|
NULL);
|
|
|
|
XtVaSetValues(send_html_toggle,
|
|
XmNalignment, XmALIGNMENT_BEGINNING,
|
|
XmNindicatorType, XmONE_OF_MANY,
|
|
XmNtopAttachment, XmATTACH_WIDGET,
|
|
XmNtopWidget, send_text_toggle,
|
|
XmNleftAttachment, XmATTACH_OPPOSITE_WIDGET,
|
|
XmNleftWidget, ask_toggle,
|
|
XmNrightAttachment, XmATTACH_NONE,
|
|
XmNbottomAttachment, XmATTACH_NONE,
|
|
NULL);
|
|
|
|
XtVaSetValues(send_both_toggle,
|
|
XmNalignment, XmALIGNMENT_BEGINNING,
|
|
XmNindicatorType, XmONE_OF_MANY,
|
|
XmNtopAttachment, XmATTACH_WIDGET,
|
|
XmNtopWidget, send_html_toggle,
|
|
XmNleftAttachment, XmATTACH_OPPOSITE_WIDGET,
|
|
XmNleftWidget, ask_toggle,
|
|
XmNrightAttachment, XmATTACH_NONE,
|
|
XmNbottomAttachment, XmATTACH_NONE,
|
|
NULL);
|
|
|
|
XtManageChildren(kids, i);
|
|
XtManageChild(label3);
|
|
XtManageChild(form3);
|
|
XtManageChild(frame3);
|
|
|
|
// Add callbacks
|
|
|
|
XtAddCallback(m_chrome, XmNokCallback, cb_ok, this);
|
|
XtAddCallback(m_chrome, XmNcancelCallback, cb_cancel, this);
|
|
|
|
XtAddCallback(names_and_nicknames_toggle, XmNvalueChangedCallback, cb_toggleAddressing, fep);
|
|
XtAddCallback(nicknames_only_toggle, XmNvalueChangedCallback, cb_toggleAddressing, fep);
|
|
|
|
XtAddCallback(eight_bit_toggle, XmNvalueChangedCallback, cb_toggleEncoding, fep);
|
|
XtAddCallback(quoted_printable_toggle, XmNvalueChangedCallback, cb_toggleEncoding, fep);
|
|
|
|
XtAddCallback(ask_toggle, XmNvalueChangedCallback, cb_toggleSend, fep);
|
|
XtAddCallback(send_text_toggle, XmNvalueChangedCallback, cb_toggleSend, fep);
|
|
XtAddCallback(send_html_toggle, XmNvalueChangedCallback, cb_toggleSend, fep);
|
|
XtAddCallback(send_both_toggle, XmNvalueChangedCallback, cb_toggleSend, fep);
|
|
}
|
|
|
|
// Member: ~XFE_PrefsMsgMoreDialog
|
|
// Description: Destructor
|
|
// Inputs:
|
|
// Side effects:
|
|
|
|
XFE_PrefsMsgMoreDialog::~XFE_PrefsMsgMoreDialog()
|
|
{
|
|
// Clean up
|
|
|
|
delete m_prefsDataMsgMore;
|
|
}
|
|
|
|
// Member: show
|
|
// Description: Pop up dialog
|
|
// Inputs:
|
|
// Side effects:
|
|
|
|
void XFE_PrefsMsgMoreDialog::show()
|
|
{
|
|
// Manage the top level
|
|
|
|
XFE_Dialog::show();
|
|
|
|
// Set focus to the OK button
|
|
|
|
XmProcessTraversal(m_okButton, XmTRAVERSE_CURRENT);
|
|
}
|
|
|
|
// Member: initPage
|
|
// Description: Initializes page for MailNewsMsgMore
|
|
// Inputs:
|
|
// Side effects:
|
|
|
|
void XFE_PrefsMsgMoreDialog::initPage()
|
|
{
|
|
XP_ASSERT(m_prefsDataMsgMore);
|
|
|
|
PrefsDataMsgMore *fep = m_prefsDataMsgMore;
|
|
XFE_GlobalPrefs *prefs = &fe_globalPrefs;
|
|
XP_Bool b;
|
|
Boolean sensitive;
|
|
|
|
sensitive = !PREF_PrefIsLocked("mailnews.nicknames_only");
|
|
b = prefs->expand_addr_nicknames_only;
|
|
XtVaSetValues(fep->nicknames_only_toggle,
|
|
XmNset, b,
|
|
XmNsensitive, sensitive,
|
|
0);
|
|
XtVaSetValues(fep->names_and_nicknames_toggle,
|
|
XmNset, !b,
|
|
XmNsensitive, sensitive,
|
|
0);
|
|
|
|
// 8-bit or quoted printable
|
|
|
|
sensitive = !PREF_PrefIsLocked("mail.strictly_mime");
|
|
XtVaSetValues(fep->eight_bit_toggle,
|
|
XmNset, !prefs->qp_p,
|
|
XmNsensitive, sensitive,
|
|
0);
|
|
XtVaSetValues(fep->quoted_printable_toggle,
|
|
XmNset, prefs->qp_p,
|
|
XmNsensitive, sensitive,
|
|
0);
|
|
|
|
// Sending HTML messages
|
|
|
|
sensitive = !PREF_PrefIsLocked("mail.default_html_action");
|
|
XtVaSetValues(fep->ask_toggle,
|
|
XmNset, (prefs->html_def_action == HTML_ACTION_ASK),
|
|
XmNsensitive, sensitive,
|
|
0);
|
|
XtVaSetValues(fep->send_text_toggle,
|
|
XmNset, (prefs->html_def_action == HTML_ACTION_TEXT),
|
|
XmNsensitive, sensitive,
|
|
0);
|
|
XtVaSetValues(fep->send_html_toggle,
|
|
XmNset, (prefs->html_def_action == HTML_ACTION_HTML),
|
|
XmNsensitive, sensitive,
|
|
0);
|
|
XtVaSetValues(fep->send_both_toggle,
|
|
XmNset, (prefs->html_def_action == HTML_ACTION_BOTH),
|
|
XmNsensitive, sensitive,
|
|
0);
|
|
}
|
|
|
|
// Member: verifyPage
|
|
// Description: verify page for MailNewsMsgMore
|
|
// Inputs:
|
|
// Side effects:
|
|
|
|
Boolean XFE_PrefsMsgMoreDialog::verifyPage()
|
|
{
|
|
return TRUE;
|
|
}
|
|
|
|
// Member: installChanges
|
|
// Description: install changes for MailNewsMsgMore
|
|
// Inputs:
|
|
// Side effects:
|
|
|
|
void XFE_PrefsMsgMoreDialog::installChanges()
|
|
{
|
|
}
|
|
|
|
// Member: getContext
|
|
// Description: returns context
|
|
// Inputs:
|
|
// Side effects:
|
|
|
|
MWContext *XFE_PrefsMsgMoreDialog::getContext()
|
|
{
|
|
return (m_prefsDialog->getContext());
|
|
}
|
|
|
|
// Member: prefsMsgMoreCb_ok
|
|
// Description:
|
|
// Inputs:
|
|
// Side effects:
|
|
|
|
void XFE_PrefsMsgMoreDialog::cb_ok(Widget w,
|
|
XtPointer closure,
|
|
XtPointer callData)
|
|
{
|
|
XFE_PrefsMsgMoreDialog *theDialog = (XFE_PrefsMsgMoreDialog *)closure;
|
|
PrefsDataMsgMore *fep = theDialog->m_prefsDataMsgMore;
|
|
Boolean b;
|
|
|
|
XP_ASSERT(fep);
|
|
if (! theDialog->verifyPage()) return;
|
|
|
|
// addressing messages
|
|
|
|
XtVaGetValues(fep->nicknames_only_toggle, XmNset, &b, 0);
|
|
fe_globalPrefs.expand_addr_nicknames_only = b;
|
|
|
|
// 8bit, quoted printable
|
|
|
|
XtVaGetValues(fep->quoted_printable_toggle, XmNset, &b, 0);
|
|
fe_globalPrefs.qp_p = b;
|
|
|
|
// Default html action
|
|
|
|
XtVaGetValues(fep->ask_toggle, XmNset, &b, 0);
|
|
if (b) fe_globalPrefs.html_def_action = HTML_ACTION_ASK;
|
|
|
|
XtVaGetValues(fep->send_text_toggle, XmNset, &b, 0);
|
|
if (b) fe_globalPrefs.html_def_action = HTML_ACTION_TEXT;
|
|
|
|
XtVaGetValues(fep->send_html_toggle, XmNset, &b, 0);
|
|
if (b) fe_globalPrefs.html_def_action = HTML_ACTION_HTML;
|
|
|
|
XtVaGetValues(fep->send_both_toggle, XmNset, &b, 0);
|
|
if (b) fe_globalPrefs.html_def_action = HTML_ACTION_BOTH;
|
|
|
|
// Simulate a cancel
|
|
|
|
theDialog->cb_cancel(w, closure, callData);
|
|
|
|
// Install preferences
|
|
|
|
theDialog->installChanges();
|
|
|
|
// Save the preferences at the end, so that if we've found some setting that
|
|
// crashes, it won't get saved...
|
|
|
|
if (! fe_CheckVersionAndSavePrefs((char *) fe_globalData.user_prefs_file, &fe_globalPrefs))
|
|
fe_perror (theDialog->getContext(), XP_GetString( XFE_ERROR_SAVING_OPTIONS));
|
|
}
|
|
|
|
// Member: prefsMsgMoreCb_cancel
|
|
// Description:
|
|
// Inputs:
|
|
// Side effects:
|
|
|
|
void XFE_PrefsMsgMoreDialog::cb_cancel(Widget /* w */,
|
|
XtPointer closure,
|
|
XtPointer /* callData */)
|
|
{
|
|
XFE_PrefsMsgMoreDialog *theDialog = (XFE_PrefsMsgMoreDialog *)closure;
|
|
|
|
// Delete the dialog
|
|
|
|
delete theDialog;
|
|
}
|
|
|
|
void XFE_PrefsMsgMoreDialog::cb_toggleEncoding(Widget w,
|
|
XtPointer closure,
|
|
XtPointer callData)
|
|
{
|
|
XmToggleButtonCallbackStruct *cb = (XmToggleButtonCallbackStruct *)callData;
|
|
PrefsDataMsgMore *fep = (PrefsDataMsgMore *)closure;
|
|
|
|
if (! cb->set) {
|
|
XtVaSetValues(w, XmNset, True, 0);
|
|
}
|
|
else if (w == fep->eight_bit_toggle) {
|
|
XtVaSetValues(fep->quoted_printable_toggle, XmNset, False, 0);
|
|
}
|
|
else if (w == fep->quoted_printable_toggle) {
|
|
XtVaSetValues(fep->eight_bit_toggle, XmNset, False, 0);
|
|
}
|
|
else
|
|
abort();
|
|
}
|
|
|
|
void XFE_PrefsMsgMoreDialog::cb_toggleAddressing(Widget w,
|
|
XtPointer closure,
|
|
XtPointer callData)
|
|
{
|
|
XmToggleButtonCallbackStruct *cb = (XmToggleButtonCallbackStruct *)callData;
|
|
PrefsDataMsgMore *fep = (PrefsDataMsgMore *)closure;
|
|
|
|
if (! cb->set) {
|
|
XtVaSetValues(w, XmNset, True, 0);
|
|
}
|
|
else if (w == fep->names_and_nicknames_toggle) {
|
|
XtVaSetValues(fep->nicknames_only_toggle, XmNset, False, 0);
|
|
}
|
|
else if (w == fep->nicknames_only_toggle) {
|
|
XtVaSetValues(fep->names_and_nicknames_toggle, XmNset, False, 0);
|
|
}
|
|
else
|
|
abort();
|
|
}
|
|
|
|
void XFE_PrefsMsgMoreDialog::cb_toggleSend(Widget w,
|
|
XtPointer closure,
|
|
XtPointer callData)
|
|
{
|
|
XmToggleButtonCallbackStruct *cb = (XmToggleButtonCallbackStruct *)callData;
|
|
PrefsDataMsgMore *fep = (PrefsDataMsgMore *)closure;
|
|
|
|
if (! cb->set) {
|
|
XtVaSetValues(w, XmNset, True, 0);
|
|
}
|
|
else if (w == fep->ask_toggle) {
|
|
XtVaSetValues(fep->send_text_toggle, XmNset, False, 0);
|
|
XtVaSetValues(fep->send_html_toggle, XmNset, False, 0);
|
|
XtVaSetValues(fep->send_both_toggle, XmNset, False, 0);
|
|
}
|
|
else if (w == fep->send_text_toggle) {
|
|
XtVaSetValues(fep->ask_toggle, XmNset, False, 0);
|
|
XtVaSetValues(fep->send_html_toggle, XmNset, False, 0);
|
|
XtVaSetValues(fep->send_both_toggle, XmNset, False, 0);
|
|
}
|
|
else if (w == fep->send_html_toggle) {
|
|
XtVaSetValues(fep->ask_toggle, XmNset, False, 0);
|
|
XtVaSetValues(fep->send_text_toggle, XmNset, False, 0);
|
|
XtVaSetValues(fep->send_both_toggle, XmNset, False, 0);
|
|
}
|
|
else if (w == fep->send_both_toggle) {
|
|
XtVaSetValues(fep->ask_toggle, XmNset, False, 0);
|
|
XtVaSetValues(fep->send_text_toggle, XmNset, False, 0);
|
|
XtVaSetValues(fep->send_html_toggle, XmNset, False, 0);
|
|
}
|
|
else
|
|
abort();
|
|
}
|
|
|
|
|