OSDN Git Service

Show User Name
authorxVir <danil.skachkov@gmail.com>
Sat, 30 Oct 2010 10:04:40 +0000 (17:04 +0700)
committerxVir <danil.skachkov@gmail.com>
Sat, 30 Oct 2010 10:04:40 +0000 (17:04 +0700)
E-mail now can be copied

src/cx/fbn/nevernote/dialog/AccountDialog.java

index 1ac7d1f..b3da836 100644 (file)
@@ -23,13 +23,23 @@ package cx.fbn.nevernote.dialog;
 import java.text.SimpleDateFormat;\r
 \r
 import com.evernote.edam.type.UserAttributes;\r
+import com.trolltech.qt.gui.QApplication;\r
+import com.trolltech.qt.gui.QColor;\r
 import com.trolltech.qt.gui.QDialog;\r
+import com.trolltech.qt.gui.QFontMetrics;\r
+import com.trolltech.qt.gui.QFrame;\r
 import com.trolltech.qt.gui.QGridLayout;\r
 import com.trolltech.qt.gui.QGroupBox;\r
 import com.trolltech.qt.gui.QHBoxLayout;\r
 import com.trolltech.qt.gui.QIcon;\r
 import com.trolltech.qt.gui.QLabel;\r
+import com.trolltech.qt.gui.QPalette;\r
+import com.trolltech.qt.gui.QPalette.ColorRole;\r
 import com.trolltech.qt.gui.QPushButton;\r
+import com.trolltech.qt.gui.QTextDocument;\r
+import com.trolltech.qt.gui.QTextEdit;\r
+import com.trolltech.qt.gui.QTextEdit.LineWrapMode;\r
+import com.trolltech.qt.gui.QWidget;\r
 \r
 import cx.fbn.nevernote.Global;\r
 \r
@@ -49,6 +59,8 @@ public class AccountDialog extends QDialog {
                else\r
                        premium = new QLabel("Free");\r
                \r
+               String userName = Global.username;\r
+               \r
                Long uploadAmt = Global.getUploadAmount();\r
                Long uploadLimit = Global.getUploadLimit();\r
                Long uploadLimitEnd = Global.getUploadLimitEnd();\r
@@ -70,22 +82,25 @@ public class AccountDialog extends QDialog {
                if (uploadLimit > 0)\r
                        uploadLimit = uploadLimit/1024/1024;\r
        \r
-               \r
-               String fmt = Global.getDateFormat() + " " + Global.getTimeFormat();\r
+               //showing only date need\r
+               String fmt = Global.getDateFormat() /* + " " + Global.getTimeFormat()*/;\r
                String dateTimeFormat = new String(fmt);\r
                SimpleDateFormat simple = new SimpleDateFormat(dateTimeFormat);\r
                StringBuilder endDate = new StringBuilder(simple.format(uploadLimitEnd));\r
                \r
-               QGridLayout textGrid = new QGridLayout();\r
                QGroupBox limitGroup = new QGroupBox(tr("Account:"));\r
-               textGrid.addWidget(new QLabel("Account Type:"), 1,1);\r
-               textGrid.addWidget(premium, 1, 2);\r
-               textGrid.addWidget(new QLabel("Limit:"), 2,1);\r
-               textGrid.addWidget(new QLabel(uploadLimit.toString() +" MB"),2,2);\r
-               textGrid.addWidget(new QLabel("Uploaded In This Period:"), 3,1);\r
-               textGrid.addWidget(new QLabel(uploadAmt.toString()+unit +" ("+pct+"%)"),3,2);\r
-               textGrid.addWidget(new QLabel("Current Cycle Ends:"), 4,1);\r
-               textGrid.addWidget(new QLabel(endDate.toString()),4,2);\r
+\r
+               QGridLayout textGrid = new QGridLayout();\r
+               textGrid.addWidget(new QLabel("User Name:"),1,1);\r
+               textGrid.addWidget(new QLabel(userName), 1,2);\r
+               textGrid.addWidget(new QLabel("Account Type:"), 2,1);\r
+               textGrid.addWidget(premium, 2, 2);\r
+               textGrid.addWidget(new QLabel("Limit:"), 3,1);\r
+               textGrid.addWidget(new QLabel(uploadLimit.toString() +" MB"),3,2);\r
+               textGrid.addWidget(new QLabel("Uploaded In This Period:"), 4,1);\r
+               textGrid.addWidget(new QLabel(uploadAmt.toString()+unit +" ("+pct+"%)"),4,2);\r
+               textGrid.addWidget(new QLabel("Current Cycle Ends:"), 5,1);\r
+               textGrid.addWidget(new QLabel(endDate.toString()),5,2);\r
                limitGroup.setLayout(textGrid);\r
 \r
                grid.addWidget(limitGroup, 1, 1);\r
@@ -97,7 +112,11 @@ public class AccountDialog extends QDialog {
                String server = Global.getServer();\r
                if (server.startsWith("www."))\r
                        server = server.substring(4);\r
-               attribGrid.addWidget(new QLabel(attrib.getIncomingEmailAddress()+"@"+Global.getServer()), 1,2);\r
+               \r
+               //usually evernote mail is user@m.evernote.com\r
+               server = "m."+server;\r
+               \r
+               attribGrid.addWidget(createIncomingEmailField(attrib.getIncomingEmailAddress()+"@"+server), 1,2);\r
                attribGroup.setLayout(attribGrid);\r
                grid.addWidget(attribGroup, 2,1);\r
 \r
@@ -111,6 +130,41 @@ public class AccountDialog extends QDialog {
                grid.addLayout(buttonLayout,3,1);\r
        }\r
        \r
+       private QWidget createIncomingEmailField(String email){\r
+               QTextEdit emailTextEdit = new QTextEdit();\r
+               \r
+               String emailLinkFormat="<a href=\"mailto:%1$s\">%1$s</a>";\r
+               String emailHtml = String.format(emailLinkFormat, email);\r
+               \r
+               emailTextEdit.setLineWrapMode(LineWrapMode.NoWrap);\r
+\r
+               QTextDocument doc = new QTextDocument();\r
+               doc.setHtml(emailHtml);\r
+               doc.setMaximumBlockCount(1);\r
+               \r
+               emailTextEdit.setDocument(doc);\r
+               emailTextEdit.setReadOnly(true);\r
+\r
+               //set background color as for disabled control \r
+               QPalette palette = new QPalette();\r
+               QColor backgroundColor = QApplication.palette().color(ColorRole.Window);\r
+               palette.setColor(ColorRole.Base, backgroundColor);\r
+               \r
+               emailTextEdit.setAutoFillBackground(true);\r
+               emailTextEdit.setPalette(palette);\r
+               \r
+               //remove frame borders\r
+               emailTextEdit.setFrameShape(QFrame.Shape.NoFrame);\r
+               \r
+               //set height of emailTextEdit actually single line\r
+               QFontMetrics fontMetrics = emailTextEdit.fontMetrics();\r
+               //we also add some pixels to avoid showing scrollbars\r
+               int height = fontMetrics.height() + emailTextEdit.frameWidth()*2 + 8;\r
+               emailTextEdit.setFixedHeight(height);\r
+               \r
+               return emailTextEdit;\r
+       }\r
+       \r
        @SuppressWarnings("unused")\r
        private void okPushed() {\r
                this.close();\r