Package cx.fbn.nevernote.dialog

Source Code of cx.fbn.nevernote.dialog.ConfigDebugPage

/*
* This file is part of NixNote
* Copyright 2009 Randy Baumgarte
*
* This file may be licensed under the terms of of the
* GNU General Public License Version 2 (the ``GPL'').
*
* Software distributed under the License is distributed
* on an ``AS IS'' basis, WITHOUT WARRANTY OF ANY KIND, either
* express or implied. See the GPL for the specific language
* governing rights and limitations.
*
* You should have received a copy of the GPL along with this
* program. If not, go to http://www.gnu.org/licenses/gpl.html
* or write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/


//**********************************************
//**********************************************
//* This dialog is the debugging information
//* page used in the Edit/Preferences dialog
//**********************************************
//**********************************************

package cx.fbn.nevernote.dialog;

import com.trolltech.qt.gui.QCheckBox;
import com.trolltech.qt.gui.QComboBox;
import com.trolltech.qt.gui.QGroupBox;
import com.trolltech.qt.gui.QHBoxLayout;
import com.trolltech.qt.gui.QLabel;
import com.trolltech.qt.gui.QSpinBox;
import com.trolltech.qt.gui.QTextBrowser;
import com.trolltech.qt.gui.QVBoxLayout;
import com.trolltech.qt.gui.QWidget;

import cx.fbn.nevernote.Global;

public class ConfigDebugPage extends QWidget {
 
  QComboBox messageCombo;
  QComboBox serverCombo;
  QCheckBox disableUploads;
  QCheckBox carriageReturnFix;
  QCheckBox htmlEntitiesFix;
  QCheckBox enableThumbnails;
  QSpinBox  databaseCache;
  QCheckBox reloadSharedNotebooks;
 
  public ConfigDebugPage(QWidget parent) {
    super(parent);
    // Server settings
    QGroupBox serverGroup =  new QGroupBox(tr("Server Configuration"));
    QLabel serverLabel = new QLabel(tr("Server"));
    serverCombo = new QComboBox();
    serverCombo.addItem("www.evernote.com");
    serverCombo.addItem("sandbox.evernote.com");
    disableUploads = new QCheckBox();
    disableUploads.setText(tr("Disable uploads to server"));

    QHBoxLayout serverLayout = new QHBoxLayout();
    serverLayout.addWidget(serverLabel);
    serverLayout.addWidget(serverCombo);
    serverLayout.addWidget(disableUploads);
    serverGroup.setLayout(serverLayout);

    QLabel messageLevelLabel = new QLabel(tr("Message Level"));
    messageCombo = new QComboBox();
    messageCombo.addItem(tr("Low"),"Low");
    messageCombo.addItem(tr("Medium"),"Medium");
    messageCombo.addItem(tr("High"),"High");
    messageCombo.addItem(tr("Extreme"),"Extreme");
   
    QHBoxLayout messageLayout = new QHBoxLayout();
    messageLayout.addWidget(messageLevelLabel);
    messageLayout.addWidget(messageCombo);
    messageLayout.setStretch(1, 100);
   
   
    QHBoxLayout databaseCacheLayout = new QHBoxLayout();
    databaseCache = new QSpinBox();
    databaseCacheLayout.addWidget(new QLabel(tr("Database Cache (MB) - Requires restart")));
    databaseCache.setMinimum(4);
    databaseCache.setMaximum(128);
    databaseCache.setValue(new Integer(Global.databaseCache)/1024);
    databaseCacheLayout.addWidget(databaseCache);
    databaseCacheLayout.setStretch(1, 100);
   
    QVBoxLayout mainLayout = new QVBoxLayout();
    mainLayout.addLayout(messageLayout);
    mainLayout.addLayout(databaseCacheLayout);
   
    QHBoxLayout thumbnailLayout = new QHBoxLayout();
    QLabel thumbnailLabel = new QLabel(tr("Enable Thumbnails (experimental)"));
    thumbnailLayout.addWidget(thumbnailLabel);
    enableThumbnails = new QCheckBox(this);
    thumbnailLayout.addWidget(enableThumbnails);
    mainLayout.addLayout(thumbnailLayout);
   
    mainLayout.addWidget(serverGroup);
   
    QGroupBox crlfGroup = new QGroupBox(tr("Carriage Return Fix"));
    String crlfMessage = new String(tr("Note: The carriage return is a test fix.  If you " +
    "enable it, it will do some modifications to the notes you view to try and" +
    " get the carriage returns to look correct.  This is due to the way that " +
    "the way Evernote 3.1 Windows client is dealing with carriage returns.  This fix"+
    "will try and correct this problem.  This fix is not permanent unless you edit a note.  If" +
    "you edit a note, this fix is PERMANENT and will be sent to Evernote on the next sync.  I haven't" +
    "had any issues with this, but please be aware of this condition."));
    carriageReturnFix = new QCheckBox(this);
    QVBoxLayout crlfLayout = new QVBoxLayout();
    carriageReturnFix.setText(tr("Enable Carriage Return Fix"));
    crlfLayout.addWidget(carriageReturnFix);
    crlfGroup.setLayout(crlfLayout);

    QGroupBox htmlGroup = new QGroupBox(tr("Android Note Fix"));
    String entitiesMessage = new String(tr("Note: This is an experimental fix to correct Unicode" +
        " notes created on Android Evernote clients."));
    htmlEntitiesFix = new QCheckBox(this);
    QVBoxLayout htmlLayout = new QVBoxLayout();
    htmlEntitiesFix.setText(tr("Enable Android Fix"));
    htmlLayout.addWidget(htmlEntitiesFix);
    htmlGroup.setLayout(htmlLayout);
   
    reloadSharedNotebooks = new QCheckBox(tr("Shared Notebooks"));
    QGroupBox refresh = new QGroupBox(tr("Special Refresh (WARNING - This can cause unsynchronized data loss)."));
    QVBoxLayout refreshLayout = new QVBoxLayout();
    refreshLayout.addWidget(reloadSharedNotebooks);
    refresh.setLayout(refreshLayout);
   
   
    QTextBrowser msg = new QTextBrowser(this);
    QTextBrowser htmlMsg = new QTextBrowser(this);
    msg.setText(crlfMessage);
    htmlMsg.setText(entitiesMessage);
    crlfLayout.addWidget(msg);
    mainLayout.addWidget(crlfGroup);
    htmlLayout.addWidget(htmlMsg);
    mainLayout.addWidget(htmlGroup);
    mainLayout.addWidget(refresh);

    mainLayout.addStretch(1);
    setLayout(mainLayout);
   
    serverCombo.activated.connect(this, "serverOptionChanged()");
  }
 
  //******************************************
  //* Message set/get
  //******************************************
  public void setDebugLevel(String level) {
    int i = messageCombo.findData(level);
    if (i>0)
      messageCombo.setCurrentIndex(i);
  }
  public String getDebugLevel() {
    int i = messageCombo.currentIndex();
    return messageCombo.itemData(i).toString();
  }


  //******************************************
  //* Experimental fixes
  //******************************************
  public void setHtmlEntitiesFix(boolean val) {
    htmlEntitiesFix.setChecked(val);
  }
  public boolean getHtmlEntitiesFix() {
    return htmlEntitiesFix.isChecked();
  }
  public void setCarriageReturnFix(boolean val) {
    carriageReturnFix.setChecked(val);
  }
  public boolean getCarriageReturnFix() {
    return carriageReturnFix.isChecked();
  }

 
  //******************************************
  //* Server set/get
  //******************************************
  public void setServer(String server) {
    int i = serverCombo.findText(server);
    if (i>0)
      serverCombo.setCurrentIndex(i);
  }
  public String getServer() {
    int i = serverCombo.currentIndex();
    return serverCombo.itemText(i);
  }
  @SuppressWarnings("unused")
  private void serverOptionChanged() {
    String text = serverCombo.currentText();
    if (text.equalsIgnoreCase("www.evernote.com"))
      disableUploads.setChecked(true);
  }
  //*****************************************
  //* Disable uploads
  //*****************************************
  public void setDisableUploads(boolean val) {
    disableUploads.setChecked(val);
  }
  public boolean getDisableUploads() {
    return disableUploads.isChecked();
  }
 
  //****************************************
  //* Thumbnails
  //****************************************
  public void setEnableThumbnails(boolean val) {
    enableThumbnails.setChecked(val);
  }
 
  public boolean getEnableThumbnails() {
    return enableThumbnails.isChecked();
  }

 
  public String getDatabaseCacheSize() {
    return new Integer(databaseCache.value()*1024).toString();
  }

 
  //***************************************
  //* Special refreshes
  //***************************************
  public boolean reloadSharedNotebooksClicked() {
    return reloadSharedNotebooks.isChecked();
  }

}
TOP

Related Classes of cx.fbn.nevernote.dialog.ConfigDebugPage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.