[Tkabber-dev] r489 - trunk/plugins/notes

tkabber-svn at jabber.ru tkabber-svn at jabber.ru
Fri Jun 3 23:26:47 MSD 2011


Author: Totktonada
Date: 2011-06-03 23:26:47 +0400 (Fri, 03 Jun 2011)
New Revision: 489

Modified:
   trunk/plugins/notes/TODO
   trunk/plugins/notes/notes.tcl
Log:
Notes plugin: multiline text editor component.


Modified: trunk/plugins/notes/TODO
===================================================================
--- trunk/plugins/notes/TODO	2011-05-03 22:52:19 UTC (rev 488)
+++ trunk/plugins/notes/TODO	2011-06-03 19:26:47 UTC (rev 489)
@@ -30,10 +30,4 @@
 
 Обработка разнообразных ошибок при чтении из хранилища или записи в него.
 
-Удаление заметок.
-
-[15:10:16]<ancestor> Totktonada, думаю для текста заметки нужно сделать многострочное текстовое поле, так было бы удобней.
-[16:13:37]<rejjin> Totktonada: text в panedwindow (можно будет поле регулировать (размер) как в чатах).
-[16:14:09]<rejjin> Totktonada: panedwindow простой, и там pack/place/grid не нужен.
-
 [01:54:36]<Totktonada> ancestor: Оно уже есть. Другая реализация. Да, я хотел прикрутить их к JID'ам, но как бы опционально и с отображением в едином списке. Теперь надо думать ещё и над тем, делать ли совместимо с теми заметками или лучше просто добавить возможность импорта оттуда.

Modified: trunk/plugins/notes/notes.tcl
===================================================================
--- trunk/plugins/notes/notes.tcl	2011-05-03 22:52:19 UTC (rev 488)
+++ trunk/plugins/notes/notes.tcl	2011-06-03 19:26:47 UTC (rev 489)
@@ -285,20 +285,29 @@
     [entry $dialog_frame.title] insert end $title
     label $dialog_frame.ltags  -text [::msgcat::mc "Tags:"]
     [entry $dialog_frame.tags] insert end $tags_str
-    label $dialog_frame.ltext  -text [::msgcat::mc "Text:"]
-    [entry $dialog_frame.text] insert end $text
 
-    grid $dialog_frame.ltitle -row 0 -column 0 -sticky e
+    set sw [ScrolledWindow $dialog_frame.sw]
+    [textUndoable $dialog_frame.text -wrap word] insert end $text
+    $sw setwidget $dialog_frame.text
+
+    grid $dialog_frame.ltitle -row 0 -column 0 -sticky nw
     grid $dialog_frame.title  -row 0 -column 1 -sticky ew
-    grid $dialog_frame.ltags  -row 1 -column 0 -sticky e
+    grid $dialog_frame.ltags  -row 1 -column 0 -sticky nw
     grid $dialog_frame.tags   -row 1 -column 1 -sticky ew
-    grid $dialog_frame.ltext  -row 2 -column 0 -sticky e
-    grid $dialog_frame.text   -row 2 -column 1 -sticky ew
+    grid $sw -row 2 -column 0 -columnspan 2 -sticky nw
 
     $dialog_w add -text [::msgcat::mc "Ok"] \
         -command [list [namespace current]::edit_note_cmd_ok $dialog_w $idx $current_xlib]
     $dialog_w add -text [::msgcat::mc "Cancel"] \
         -command [list destroy $dialog_w]
+
+# Next 3 commands from ${PATH_TO_TKABBER}/plugins/roster/annotations.tcl (annotations::show_dialog).
+    bind $dialog_frame.text <Control-Key-Return> "[double% $dialog_w] invoke default
+				       break"
+    bind $dialog_w <Key-Return> { }
+    bind $dialog_w <Control-Key-Return> "[double% $dialog_w] invoke default
+				  break"
+
     $dialog_w draw $dialog_frame.title
 }
 
@@ -309,7 +318,7 @@
 
     set title [$dialog_frame.title get]
     set tags  [split [$dialog_frame.tags get] " "]
-    set text [$dialog_frame.text get]
+    set text [$dialog_frame.text get 0.0 "end -1 char"]
 
     set new_note [list \
         title $title \



More information about the Tkabber-dev mailing list