Add new actions to main window's toolbar: mark, unmark, lock, unlock,
authorwwp <wwp@free.fr>
Mon, 12 Dec 2016 14:30:24 +0000 (15:30 +0100)
committerwwp <wwp@free.fr>
Mon, 12 Dec 2016 14:30:24 +0000 (15:30 +0100)
mark (all) read, mark (all) unread.
Add new xpm icons for these actions (existing ones are small and made
for the message list) as well as for ignorethread and watchthread
actions.
Rename A_SENDL to A_SEND_LATER, we're not that lazy.

16 files changed:
src/compose.c
src/pixmaps/mark_allread.xpm [new file with mode: 0644]
src/pixmaps/mark_allunread.xpm [new file with mode: 0644]
src/pixmaps/mark_ignorethread.xpm [new file with mode: 0644]
src/pixmaps/mark_locked.xpm [new file with mode: 0644]
src/pixmaps/mark_mark.xpm [new file with mode: 0644]
src/pixmaps/mark_read.xpm [new file with mode: 0644]
src/pixmaps/mark_unlocked.xpm [new file with mode: 0644]
src/pixmaps/mark_unmark.xpm [new file with mode: 0644]
src/pixmaps/mark_unread.xpm [new file with mode: 0644]
src/pixmaps/mark_watchthread.xpm [new file with mode: 0644]
src/prefs_toolbar.c
src/stock_pixmap.c
src/stock_pixmap.h
src/toolbar.c
src/toolbar.h

index 10ecdc2b24b832289b4b373ebd436e5ab3818462..ae848836433ea7cd53c590bd265fbb8434238d14 100644 (file)
@@ -2702,7 +2702,7 @@ void compose_toolbar_cb(gint action, gpointer data)
        case A_SEND:
                compose_send_cb(NULL, compose);
                break;
-       case A_SENDL:
+       case A_SEND_LATER:
                compose_send_later_cb(NULL, compose);
                break;
        case A_DRAFT:
diff --git a/src/pixmaps/mark_allread.xpm b/src/pixmaps/mark_allread.xpm
new file mode 100644 (file)
index 0000000..b63d25f
--- /dev/null
@@ -0,0 +1,90 @@
+/* XPM */
+static char * mark_allread_xpm[] = {
+"24 24 63 1",
+"      c None",
+".     c #999999",
+"+     c #000000",
+"@     c #929292",
+"#     c #535353",
+"$     c #FFFFFF",
+"%     c #FEFEFE",
+"&     c #F4F4F4",
+"*     c #E3E3E3",
+"=     c #EEEEEE",
+"-     c #4F4F4F",
+";     c #F5F5F5",
+">     c #F3F3F3",
+",     c #F2F2F2",
+"'     c #F1F1F1",
+")     c #EDEDED",
+"!     c #AEAEAE",
+"~     c #E4E4E4",
+"{     c #434343",
+"]     c #FDFDFD",
+"^     c #F0F0F0",
+"/     c #ACACAC",
+"(     c #C8C8C8",
+"_     c #898989",
+":     c #FBFBFB",
+"<     c #EFEFEF",
+"[     c #A0A0A0",
+"}     c #D4D4D4",
+"|     c #D3D3D3",
+"1     c #525252",
+"2     c #F8F8F8",
+"3     c #ECECEC",
+"4     c #959595",
+"5     c #BABABA",
+"6     c #494949",
+"7     c #3E3E3E",
+"8     c #4D4D4D",
+"9     c #818181",
+"0     c #C6C6C6",
+"a     c #414141",
+"b     c #6A6A6A",
+"c     c #838383",
+"d     c #C5C5C5",
+"e     c #636363",
+"f     c #B9B9B9",
+"g     c #737373",
+"h     c #7C7C7C",
+"i     c #BBBBBB",
+"j     c #C9C9C9",
+"k     c #BCBCBC",
+"l     c #6B6B6B",
+"m     c #686868",
+"n     c #D6D6D6",
+"o     c #D2D2D2",
+"p     c #666666",
+"q     c #C0C0C0",
+"r     c #CDCDCD",
+"s     c #787878",
+"t     c #C7C7C7",
+"u     c #AFAFAF",
+"v     c #B1B1B1",
+"w     c #B6B6B6",
+"x     c #919191",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+".+++++++++++++++++@     ",
+"+#$$$$%%%%%%%%%&*#+     ",
+"+=-$;&>,,''''')*-!+     ",
+"+$~{]>,,'^''''*-/(++++_ ",
+"+$;~-:'^^<=''*{[}(+(|1+ ",
+"+$:;~{2^<=)3*-4}~(+56/+ ",
+"+$;;;~7;=)3*890~~(+a[0+ ",
+"+$:;;~b{>3*-b00;~(+cd0+ ",
+"+$;;~e$f-^-40g0;~(+!}0+ ",
+"+$:~e$;~}-/0~~h~~(+i}0+ ",
+"+$~g$;;;;~~;;;~h~(+j}0+ ",
+"+$h$~~~~~~~~~~~~h(+j}0+ ",
+"+gkkkkkkkkkkkkkkke+i}0+ ",
+"@+++++++++++++++++lmn0+ ",
+"    +opoiiiiiiiiiiqrst+ ",
+"    +luuuuuuuuuuuuvw5e+ ",
+"    x+++++++++++++++++s ",
+"                        "};
diff --git a/src/pixmaps/mark_allunread.xpm b/src/pixmaps/mark_allunread.xpm
new file mode 100644 (file)
index 0000000..503367c
--- /dev/null
@@ -0,0 +1,37 @@
+/* XPM */
+static char * mark_allunread_xpm[] = {
+"24 24 10 1",
+"      c None",
+".     c #999999",
+"+     c #000000",
+"@     c #929292",
+"#     c #030057",
+"$     c #DDDCF2",
+"%     c #CAC8EB",
+"&     c #B0AEE1",
+"*     c #26219A",
+"=     c #787878",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+".+++++++++++++++++@     ",
+"+#$$$$$$$$$$$%%%$#+     ",
+"+%#$%%%%%%&%&&&$#*+     ",
+"+$%#$%&&&&&&&&$#*&++++@ ",
+"+$&%#$%&&&&&&$#*%&+&&#+ ",
+"+$&&%#$&&&&&$#*&%&+&#*+ ",
+"+$&&&&#$&&&$#*&&%&+#*&+ ",
+"+$&&&&*#$&$#*&&&&&+*%&+ ",
+"+$&&&*$%#$#*%*&&&&+&%&+ ",
+"+$&&*$&&%#*&&%*&&&+&%&+ ",
+"+$&*$&&&&&&&&&%*&&+&&&+ ",
+"+%*$&&&&&&&&&&&%*&+&&&+ ",
+"+*%&&&&&&&&&&&&&&*+&&&+ ",
+"@+++++++++++++++++#*&&+ ",
+"    +&*%&&&&&&&&&&&%*&+ ",
+"    +*%&&&&&&&&&&&&&&*+ ",
+"    @+++++++++++++++++= ",
+"                        "};
diff --git a/src/pixmaps/mark_ignorethread.xpm b/src/pixmaps/mark_ignorethread.xpm
new file mode 100644 (file)
index 0000000..d26b19d
--- /dev/null
@@ -0,0 +1,98 @@
+/* XPM */
+static char * mark_ignorethread_xpm[] = {
+"24 24 71 1",
+"      c None",
+".     c #999999",
+"+     c #000000",
+"@     c #929292",
+"#     c #535353",
+"$     c #FFFFFF",
+"%     c #FEFEFE",
+"&     c #F6F6F6",
+"*     c #F5F5F5",
+"=     c #F4F4F4",
+"-     c #E3E3E3",
+";     c #EEEEEE",
+">     c #4F4F4F",
+",     c #F3F3F3",
+"'     c #EDEDED",
+")     c #AEAEAE",
+"!     c #E4E4E4",
+"~     c #434343",
+"{     c #FDFDFD",
+"]     c #F2F2F2",
+"^     c #ACACAC",
+"/     c #C8C8C8",
+"(     c #FBFBFB",
+"_     c #F1F1F1",
+":     c #F0F0F0",
+"<     c #EFEFEF",
+"[     c #A0A0A0",
+"}     c #D4D4D4",
+"|     c #F8F8F8",
+"1     c #ECECEC",
+"2     c #959595",
+"3     c #3E3E3E",
+"4     c #1B2B3C",
+"5     c #6A6A6A",
+"6     c #B6B6B6",
+"7     c #264057",
+"8     c #233B51",
+"9     c #253F56",
+"0     c #374E63",
+"a     c #606B76",
+"b     c #2B2B2B",
+"c     c #636363",
+"d     c #B9B9B9",
+"e     c #CACACA",
+"f     c #334F68",
+"g     c #E7E7E7",
+"h     c #314E6C",
+"i     c #597187",
+"j     c #262626",
+"k     c #DFDFDF",
+"l     c #3B5673",
+"m     c #506881",
+"n     c #E1E1E1",
+"o     c #737373",
+"p     c #8091A3",
+"q     c #EC8E79",
+"r     c #DF421E",
+"s     c #7C7C7C",
+"t     c #EBEBEB",
+"u     c #7D8EA0",
+"v     c #3A5572",
+"w     c #FCF1EF",
+"x     c #FDFBFA",
+"y     c #FDF6F4",
+"z     c #F9DFDA",
+"A     c #BCBCBC",
+"B     c #303030",
+"C     c #1F262D",
+"D     c #FBECE9",
+"E     c #FBEAE7",
+"F     c #FDF9F8",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"  .+++++++++++++++++@   ",
+"  +#$$$$%$%$%$%&*=-#+   ",
+"  +;>$*=,=,=,=,;'->)+   ",
+"  +$!~{,],],],]'->^/+   ",
+"  +$*!>(_::<;''-~[}/+   ",
+"  +$(*!~|:<;'1->2}!/+   ",
+"  +$***!3*;'14+++++/+   ",
+"  +$(**!5~,1467890ab+   ",
+"  +$**!c$d>+efg$+hi6j   ",
+"  +$(!c$*!+k*l$$+hmn[+  ",
+"  +$!o$****+:phhhqrrrrrq",
+"  +$s$!!!!!!+tuvvrwxryzr",
+"  +oAAAAAAAAAB++Crx$D$yr",
+"  @++++++++++++++rrw$Drr",
+"                 ry$E$Fr",
+"                 rwFryzr",
+"                 qrrrrrq"};
diff --git a/src/pixmaps/mark_locked.xpm b/src/pixmaps/mark_locked.xpm
new file mode 100644 (file)
index 0000000..83e7b6e
--- /dev/null
@@ -0,0 +1,101 @@
+/* XPM */
+static char * mark_locked_xpm[] = {
+"24 24 74 1",
+"      c None",
+".     c #999999",
+"+     c #000000",
+"@     c #929292",
+"#     c #535353",
+"$     c #FFFFFF",
+"%     c #FEFEFE",
+"&     c #F6F6F6",
+"*     c #F5F5F5",
+"=     c #F4F4F4",
+"-     c #E3E3E3",
+";     c #EEEEEE",
+">     c #4F4F4F",
+",     c #F3F3F3",
+"'     c #EDEDED",
+")     c #AEAEAE",
+"!     c #E4E4E4",
+"~     c #434343",
+"{     c #FDFDFD",
+"]     c #F2F2F2",
+"^     c #ACACAC",
+"/     c #C8C8C8",
+"(     c #FBFBFB",
+"_     c #F1F1F1",
+":     c #F0F0F0",
+"<     c #EFEFEF",
+"[     c #A0A0A0",
+"}     c #D4D4D4",
+"|     c #F8F8F8",
+"1     c #ECECEC",
+"2     c #959595",
+"3     c #3E3E3E",
+"4     c #4D4D4D",
+"5     c #818181",
+"6     c #C6C6C6",
+"7     c #6A6A6A",
+"8     c #F3EFE0",
+"9     c #F4E5B3",
+"0     c #CDB86D",
+"a     c #636363",
+"b     c #B9B9B9",
+"c     c #F4F0E4",
+"d     c #F2E1A5",
+"e     c #EED680",
+"f     c #737373",
+"g     c #7C7C7C",
+"h     c #F9F9F9",
+"i     c #E5EAF1",
+"j     c #DCE3EB",
+"k     c #DAE1E8",
+"l     c #D7DEE6",
+"m     c #D1D9E1",
+"n     c #8F99A2",
+"o     c #BCBCBC",
+"p     c #E3EAF1",
+"q     c #B7C8DA",
+"r     c #8CA7C3",
+"s     c #87A2BE",
+"t     c #829DBA",
+"u     c #7D98B6",
+"v     c #465766",
+"w     c #E7EDF3",
+"x     c #B6C7D9",
+"y     c #8AA5C1",
+"z     c #85A0BC",
+"A     c #809BB8",
+"B     c #7B96B4",
+"C     c #445462",
+"D     c #ECF1F5",
+"E     c #AEC0D4",
+"F     c #88A3BF",
+"G     c #839EBB",
+"H     c #7E99B6",
+"I     c #7994B2",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"  .+++++++++++++++++@   ",
+"  +#$$$$%$%$%$%&*=-#+   ",
+"  +;>$*=,=,=,=,;'->)+   ",
+"  +$!~{,],],],]'->^/+   ",
+"  +$*!>(_::<;''-~[}/+   ",
+"  +$(*!~|:<;'1->2}!/+   ",
+"  +$***!3*;'1-456++++   ",
+"  +$(**!7~,1->76+890+   ",
+"  +$**!a$b>:>26+c++/0+  ",
+"  +$(!a$*!}>^6!+d+!+e+  ",
+"  +$!f$****!!*++0+++0++ ",
+"  +$g$!!!!!!!!+hijklmn+ ",
+"  +foooooooooo+pqrstuv+ ",
+"  @++++++++++++wxyzABC+ ",
+"              +DEFGHIC+ ",
+"              +++++++++ ",
+"                        "};
diff --git a/src/pixmaps/mark_mark.xpm b/src/pixmaps/mark_mark.xpm
new file mode 100644 (file)
index 0000000..84cf69d
--- /dev/null
@@ -0,0 +1,69 @@
+/* XPM */
+static char * mark_mark_xpm[] = {
+"24 24 42 1",
+"      c None",
+".     c #999999",
+"+     c #000000",
+"@     c #929292",
+"#     c #535353",
+"$     c #FFFFFF",
+"%     c #FEFEFE",
+"&     c #F6F6F6",
+"*     c #F5F5F5",
+"=     c #F4F4F4",
+"-     c #E3E3E3",
+";     c #EEEEEE",
+">     c #4F4F4F",
+",     c #F3F3F3",
+"'     c #EDEDED",
+")     c #AEAEAE",
+"!     c #E4E4E4",
+"~     c #434343",
+"{     c #FDFDFD",
+"]     c #F2F2F2",
+"^     c #ACACAC",
+"/     c #C8C8C8",
+"(     c #FBFBFB",
+"_     c #F1F1F1",
+":     c #F0F0F0",
+"<     c #EFEFEF",
+"[     c #A0A0A0",
+"}     c #D4D4D4",
+"|     c #F8F8F8",
+"1     c #ECECEC",
+"2     c #959595",
+"3     c #3E3E3E",
+"4     c #4D4D4D",
+"5     c #818181",
+"6     c #C6C6C6",
+"7     c #6A6A6A",
+"8     c #636363",
+"9     c #B9B9B9",
+"0     c #737373",
+"a     c #7C7C7C",
+"b     c #BCBCBC",
+"c     c #787878",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"  .+++++++++++++++++@   ",
+"  +#$$$$%$%$%$%&*=-#+   ",
+"  +;>$*=,=,=,=,;'->)+   ",
+"  +$!~{,],],],]'->^/+   ",
+"  +$*!>(_::<;''-~[}/+   ",
+"  +$(*!~|:<;'1->2}!/+   ",
+"  +$***!3*;'1-456!!/+$$ ",
+"  +$(**!7~,1->766*!/$+$ ",
+"  +$**!8$9>:>2606*!$++$ ",
+"  +$(!8$*!}>^$$!a!$+++$ ",
+"  +$!0$****!!$+$!$+++$  ",
+"  +$a$!!!!!!!$++$+++$   ",
+"  +0bbbbbbbbb$+++++$+   ",
+"  @+++++++++++$+++$+c   ",
+"               $+$      ",
+"                $       ",
+"                        "};
diff --git a/src/pixmaps/mark_read.xpm b/src/pixmaps/mark_read.xpm
new file mode 100644 (file)
index 0000000..ab9e107
--- /dev/null
@@ -0,0 +1,69 @@
+/* XPM */
+static char * mark_read_xpm[] = {
+"24 24 42 1",
+"      c None",
+".     c #999999",
+"+     c #000000",
+"@     c #929292",
+"#     c #535353",
+"$     c #FFFFFF",
+"%     c #FEFEFE",
+"&     c #F6F6F6",
+"*     c #F5F5F5",
+"=     c #F4F4F4",
+"-     c #E3E3E3",
+";     c #EEEEEE",
+">     c #4F4F4F",
+",     c #F3F3F3",
+"'     c #EDEDED",
+")     c #AEAEAE",
+"!     c #E4E4E4",
+"~     c #434343",
+"{     c #FDFDFD",
+"]     c #F2F2F2",
+"^     c #ACACAC",
+"/     c #C8C8C8",
+"(     c #FBFBFB",
+"_     c #F1F1F1",
+":     c #F0F0F0",
+"<     c #EFEFEF",
+"[     c #A0A0A0",
+"}     c #D4D4D4",
+"|     c #F8F8F8",
+"1     c #ECECEC",
+"2     c #959595",
+"3     c #3E3E3E",
+"4     c #4D4D4D",
+"5     c #818181",
+"6     c #C6C6C6",
+"7     c #6A6A6A",
+"8     c #636363",
+"9     c #B9B9B9",
+"0     c #737373",
+"a     c #7C7C7C",
+"b     c #BCBCBC",
+"c     c #787878",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"  .+++++++++++++++++@   ",
+"  +#$$$$%$%$%$%&*=-#+   ",
+"  +;>$*=,=,=,=,;'->)+   ",
+"  +$!~{,],],],]'->^/+   ",
+"  +$*!>(_::<;''-~[}/+   ",
+"  +$(*!~|:<;'1->2}!/+   ",
+"  +$***!3*;'1-456!!/+   ",
+"  +$(**!7~,1->766*!/+   ",
+"  +$**!8$9>:>2606*!/+   ",
+"  +$(!8$*!}>^6!!a!!/+   ",
+"  +$!0$****!!***!a!/+   ",
+"  +$a$!!!!!!!!!!!!a/+   ",
+"  +0bbbbbbbbbbbbbbb8+   ",
+"  @+++++++++++++++++c   ",
+"                        ",
+"                        ",
+"                        "};
diff --git a/src/pixmaps/mark_unlocked.xpm b/src/pixmaps/mark_unlocked.xpm
new file mode 100644 (file)
index 0000000..d5f00a2
--- /dev/null
@@ -0,0 +1,95 @@
+/* XPM */
+static char * mark_unlocked_xpm[] = {
+"24 24 68 1",
+"      c None",
+".     c #999999",
+"+     c #000000",
+"@     c #929292",
+"#     c #535353",
+"$     c #FFFFFF",
+"%     c #FEFEFE",
+"&     c #F6F6F6",
+"*     c #F5F5F5",
+"=     c #F4F4F4",
+"-     c #E3E3E3",
+";     c #EEEEEE",
+">     c #4F4F4F",
+",     c #F3F3F3",
+"'     c #EDEDED",
+")     c #AEAEAE",
+"!     c #E4E4E4",
+"~     c #434343",
+"{     c #FDFDFD",
+"]     c #F2F2F2",
+"^     c #ACACAC",
+"/     c #C8C8C8",
+"(     c #FBFBFB",
+"_     c #F1F1F1",
+":     c #F0F0F0",
+"<     c #EFEFEF",
+"[     c #A0A0A0",
+"}     c #D4D4D4",
+"|     c #F8F8F8",
+"1     c #959595",
+"2     c #3E3E3E",
+"3     c #F4E5B3",
+"4     c #EED680",
+"5     c #CDB86D",
+"6     c #6A6A6A",
+"7     c #636363",
+"8     c #B9B9B9",
+"9     c #C6C6C6",
+"0     c #737373",
+"a     c #7C7C7C",
+"b     c #F9F9F9",
+"c     c #E5EAF1",
+"d     c #DCE3EB",
+"e     c #DAE1E8",
+"f     c #D7DEE6",
+"g     c #D1D9E1",
+"h     c #8F99A2",
+"i     c #BCBCBC",
+"j     c #E3EAF1",
+"k     c #B7C8DA",
+"l     c #8CA7C3",
+"m     c #87A2BE",
+"n     c #829DBA",
+"o     c #7D98B6",
+"p     c #465766",
+"q     c #E7EDF3",
+"r     c #B6C7D9",
+"s     c #8AA5C1",
+"t     c #85A0BC",
+"u     c #809BB8",
+"v     c #7B96B4",
+"w     c #445462",
+"x     c #ECF1F5",
+"y     c #AEC0D4",
+"z     c #88A3BF",
+"A     c #839EBB",
+"B     c #7E99B6",
+"C     c #7994B2",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"  .+++++++++++++++++@   ",
+"  +#$$$$%$%$%$%&*=-#+   ",
+"  +;>$*=,=,=,=,;'->)+   ",
+"  +$!~{,],],],]'->^/+   ",
+"  +$*!>(_::<;''-~[}/+   ",
+"  +$(*!~|:<;!+++1}!/+   ",
+"  +$***!2*;!+345+1!/+   ",
+"  +$(**!6~,+3+++5+!/+   ",
+"  +$**!7$8>+4+9+4+!/+   ",
+"  +$(!7$*!}+5+9+4+!/+   ",
+"  +$!0$****!99++5++++++ ",
+"  +$a$!!!!!!!!+bcdefgh+ ",
+"  +0iiiiiiiiii+jklmnop+ ",
+"  @++++++++++++qrstuvw+ ",
+"              +xyzABCw+ ",
+"              +++++++++ ",
+"                        "};
diff --git a/src/pixmaps/mark_unmark.xpm b/src/pixmaps/mark_unmark.xpm
new file mode 100644 (file)
index 0000000..f1f2695
--- /dev/null
@@ -0,0 +1,77 @@
+/* XPM */
+static char * mark_unmark_xpm[] = {
+"24 24 50 1",
+"      c None",
+".     c #999999",
+"+     c #000000",
+"@     c #929292",
+"#     c #535353",
+"$     c #FFFFFF",
+"%     c #FEFEFE",
+"&     c #F6F6F6",
+"*     c #F5F5F5",
+"=     c #F4F4F4",
+"-     c #E3E3E3",
+";     c #EEEEEE",
+">     c #4F4F4F",
+",     c #F3F3F3",
+"'     c #EDEDED",
+")     c #AEAEAE",
+"!     c #E4E4E4",
+"~     c #434343",
+"{     c #FDFDFD",
+"]     c #F2F2F2",
+"^     c #ACACAC",
+"/     c #C8C8C8",
+"(     c #FBFBFB",
+"_     c #F1F1F1",
+":     c #F0F0F0",
+"<     c #EFEFEF",
+"[     c #A0A0A0",
+"}     c #D4D4D4",
+"|     c #F8F8F8",
+"1     c #ECECEC",
+"2     c #959595",
+"3     c #3E3E3E",
+"4     c #4D4D4D",
+"5     c #818181",
+"6     c #C6C6C6",
+"7     c #6A6A6A",
+"8     c #636363",
+"9     c #B9B9B9",
+"0     c #737373",
+"a     c #7C7C7C",
+"b     c #EC8E79",
+"c     c #DF421E",
+"d     c #FCF1EF",
+"e     c #FDFBFA",
+"f     c #FDF6F4",
+"g     c #F9DFDA",
+"h     c #BCBCBC",
+"i     c #FBECE9",
+"j     c #FBEAE7",
+"k     c #FDF9F8",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"  .+++++++++++++++++@   ",
+"  +#$$$$%$%$%$%&*=-#+   ",
+"  +;>$*=,=,=,=,;'->)+   ",
+"  +$!~{,],],],]'->^/+   ",
+"  +$*!>(_::<;''-~[}/+   ",
+"  +$(*!~|:<;'1->2}!/+   ",
+"  +$***!3*;'1-456!!/+$$ ",
+"  +$(**!7~,1->766*!/$+$ ",
+"  +$**!8$9>:>2606*!$++$ ",
+"  +$(!8$*!}>^$$!a!$+++$ ",
+"  +$!0$****!!$+$!bcccccb",
+"  +$a$!!!!!!!$++$cdecfgc",
+"  +0hhhhhhhhh$+++ce$i$fc",
+"  @+++++++++++$++ccd$icc",
+"               $+cf$j$kc",
+"                $cdkcfgc",
+"                 bcccccb"};
diff --git a/src/pixmaps/mark_unread.xpm b/src/pixmaps/mark_unread.xpm
new file mode 100644 (file)
index 0000000..910464b
--- /dev/null
@@ -0,0 +1,36 @@
+/* XPM */
+static char * mark_unread_xpm[] = {
+"24 24 9 1",
+"      c None",
+".     c #999999",
+"+     c #000000",
+"@     c #929292",
+"#     c #030057",
+"$     c #DDDCF2",
+"%     c #CAC8EB",
+"&     c #B0AEE1",
+"*     c #26219A",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"  .+++++++++++++++++@   ",
+"  +#$$$$$$$$$$$%%%$#+   ",
+"  +%#$%%%%%%&%&&&$#*+   ",
+"  +$%#$%&&&&&&&&$#*&+   ",
+"  +$&%#$%&&&&&&$#*%&+   ",
+"  +$&&%#$&&&&&$#*&%&+   ",
+"  +$&&&&#$&&&$#*&&%&+   ",
+"  +$&&&&*#$&$#*&&&&&+   ",
+"  +$&&&*$%#$#*%*&&&&+   ",
+"  +$&&*$&&%#*&&%*&&&+   ",
+"  +$&*$&&&&&&&&&%*&&+   ",
+"  +%*$&&&&&&&&&&&%*&+   ",
+"  +*%&&&&&&&&&&&&&&*+   ",
+"  @+++++++++++++++++#   ",
+"                        ",
+"                        ",
+"                        "};
diff --git a/src/pixmaps/mark_watchthread.xpm b/src/pixmaps/mark_watchthread.xpm
new file mode 100644 (file)
index 0000000..08cb6fb
--- /dev/null
@@ -0,0 +1,92 @@
+/* XPM */
+static char * mark_watchthread_xpm[] = {
+"24 24 65 1",
+"      c None",
+".     c #999999",
+"+     c #000000",
+"@     c #929292",
+"#     c #535353",
+"$     c #FFFFFF",
+"%     c #FEFEFE",
+"&     c #F6F6F6",
+"*     c #F5F5F5",
+"=     c #F4F4F4",
+"-     c #E3E3E3",
+";     c #EEEEEE",
+">     c #4F4F4F",
+",     c #F3F3F3",
+"'     c #EDEDED",
+")     c #AEAEAE",
+"!     c #E4E4E4",
+"~     c #434343",
+"{     c #FDFDFD",
+"]     c #F2F2F2",
+"^     c #ACACAC",
+"/     c #C8C8C8",
+"(     c #FBFBFB",
+"_     c #F1F1F1",
+":     c #F0F0F0",
+"<     c #EFEFEF",
+"[     c #A0A0A0",
+"}     c #D4D4D4",
+"|     c #F8F8F8",
+"1     c #ECECEC",
+"2     c #959595",
+"3     c #3E3E3E",
+"4     c #4D4D4D",
+"5     c #818181",
+"6     c #C6C6C6",
+"7     c #6A6A6A",
+"8     c #636363",
+"9     c #B9B9B9",
+"0     c #737373",
+"a     c #1B2B3C",
+"b     c #B6B6B6",
+"c     c #264057",
+"d     c #233B51",
+"e     c #253F56",
+"f     c #374E63",
+"g     c #606B76",
+"h     c #2B2B2B",
+"i     c #7C7C7C",
+"j     c #CACACA",
+"k     c #334F68",
+"l     c #E7E7E7",
+"m     c #314E6C",
+"n     c #597187",
+"o     c #262626",
+"p     c #BCBCBC",
+"q     c #DFDFDF",
+"r     c #3B5673",
+"s     c #506881",
+"t     c #E1E1E1",
+"u     c #8091A3",
+"v     c #3A5572",
+"w     c #EBEBEB",
+"x     c #7D8EA0",
+"y     c #303030",
+"z     c #1F262D",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"                        ",
+"  .+++++++++++++++++@   ",
+"  +#$$$$%$%$%$%&*=-#+   ",
+"  +;>$*=,=,=,=,;'->)+   ",
+"  +$!~{,],],],]'->^/+   ",
+"  +$*!>(_::<;''-~[}/+   ",
+"  +$(*!~|:<;'1->2}!/+   ",
+"  +$***!3*;'1-456!!/+   ",
+"  +$(**!7~,1->766*!/+   ",
+"  +$**!8$9>:>2606*!/+   ",
+"  +$(!8$*!}>^6a++++++   ",
+"  +$!0$****!!abcdefgh   ",
+"  +$i$!!!!!!+jkl$+mnbo  ",
+"  +0ppppppp+q*r$$+mst[+ ",
+"  @++++++++++:ummmvvq+  ",
+"             +wxvvxw+   ",
+"              y++z++    ",
+"                        "};
index fc9a17b9e94e35d73eacc67b1bde8331c09fa6af..24efd931fb035a8f24c61728f9f54737f91296fe 100644 (file)
@@ -146,6 +146,16 @@ static const gint ToolbarIcons[] =
        STOCK_PIXMAP_TRASH,
        STOCK_PIXMAP_DELETE,
        STOCK_PIXMAP_CANCEL,
+       STOCK_PIXMAP_MARK_IGNORETHREAD,
+       STOCK_PIXMAP_MARK_WATCHTHREAD,
+       STOCK_PIXMAP_MARK_MARK,
+       STOCK_PIXMAP_MARK_UNMARK,
+       STOCK_PIXMAP_MARK_LOCKED,
+       STOCK_PIXMAP_MARK_UNLOCKED,
+       STOCK_PIXMAP_MARK_ALLREAD,
+       STOCK_PIXMAP_MARK_ALLUNREAD,
+       STOCK_PIXMAP_MARK_READ,
+       STOCK_PIXMAP_MARK_UNREAD,
        STOCK_PIXMAP_EMPTY,              /* last entry */
 };
 
index f40369d4d445858f15af01c06f1168f25a673f0a..4d968d3eff1ce6995156fea3b205296dd729d74f 100644 (file)
 #include "pixmaps/zoom_in.xpm"
 #include "pixmaps/zoom_out.xpm"
 #include "pixmaps/zoom_width.xpm"
+#include "pixmaps/mark_ignorethread.xpm"
+#include "pixmaps/mark_watchthread.xpm"
+#include "pixmaps/mark_mark.xpm"
+#include "pixmaps/mark_unmark.xpm"
+#include "pixmaps/mark_locked.xpm"
+#include "pixmaps/mark_unlocked.xpm"
+#include "pixmaps/mark_allread.xpm" 
+#include "pixmaps/mark_allunread.xpm"  
+#include "pixmaps/mark_read.xpm"     
+#include "pixmaps/mark_unread.xpm"
 
 typedef struct _StockPixmapData        StockPixmapData;
 
@@ -436,6 +446,16 @@ static StockPixmapData pixmaps[] =
     {zoom_in_xpm                      , NULL, NULL, "zoom_in", NULL, NULL},
     {zoom_out_xpm                     , NULL, NULL, "zoom_out", NULL, NULL},
     {zoom_width_xpm                   , NULL, NULL, "zoom_width", NULL, NULL},
+    {mark_ignorethread_xpm            , NULL, NULL, "mark_ignorethread", NULL},
+    {mark_watchthread_xpm             , NULL, NULL, "mark_watchthread", NULL},
+    {mark_mark_xpm                    , NULL, NULL, "mark_mark", NULL, NULL},
+    {mark_unmark_xpm                  , NULL, NULL, "mark_unmark", NULL, NULL},
+    {mark_locked_xpm                  , NULL, NULL, "mark_locked", NULL, NULL},
+    {mark_unlocked_xpm                , NULL, NULL, "mark_unlocked", NULL, NULL},
+    {mark_allread_xpm                 , NULL, NULL, "mark_allread", NULL, NULL},
+    {mark_allunread_xpm               , NULL, NULL, "mark_allunread", NULL, NULL},
+    {mark_read_xpm                    , NULL, NULL, "mark_read", NULL, NULL},
+    {mark_unread_xpm                  , NULL, NULL, "mark_unread", NULL, NULL},
     {empty_xpm                        , NULL, NULL, "empty", NULL, NULL}
 };
 
index 1a1162308c4e4f814ae69b22c3772decc593f024..9995cfe071d625869d44b5b948754e76cf257f43 100644 (file)
@@ -204,6 +204,16 @@ typedef enum
        STOCK_PIXMAP_ZOOM_IN,
        STOCK_PIXMAP_ZOOM_OUT,
        STOCK_PIXMAP_ZOOM_WIDTH,
+       STOCK_PIXMAP_MARK_IGNORETHREAD,
+       STOCK_PIXMAP_MARK_WATCHTHREAD,
+       STOCK_PIXMAP_MARK_MARK,
+       STOCK_PIXMAP_MARK_UNMARK,
+       STOCK_PIXMAP_MARK_LOCKED,
+       STOCK_PIXMAP_MARK_UNLOCKED,
+       STOCK_PIXMAP_MARK_ALLREAD,
+       STOCK_PIXMAP_MARK_ALLUNREAD,
+       STOCK_PIXMAP_MARK_READ,
+       STOCK_PIXMAP_MARK_UNREAD,
        STOCK_PIXMAP_EMPTY,              /* last entry */
        N_STOCK_PIXMAPS
 } StockPixmap;
index ee98c9ec83afb393361466139df8ddba229a6c8c..edf28e950364838f9f783ef2ca0b352b3d8afd70 100644 (file)
@@ -139,6 +139,30 @@ static void toolbar_ignore_thread_cb               (GtkWidget      *widget,
 static void toolbar_watch_thread_cb            (GtkWidget      *widget,
                                                 gpointer        data);
 
+static void toolbar_mark_cb            (GtkWidget      *widget,
+                                                gpointer        data);
+
+static void toolbar_unmark_cb          (GtkWidget      *widget,
+                                                gpointer        data);
+
+static void toolbar_lock_cb            (GtkWidget      *widget,
+                                                gpointer        data);
+
+static void toolbar_ulock_cb           (GtkWidget      *widget,
+                                                gpointer        data);
+
+static void toolbar_all_read_cb                (GtkWidget      *widget,
+                                                gpointer        data);
+
+static void toolbar_all_unread_cb              (GtkWidget      *widget,
+                                                gpointer        data);
+
+static void toolbar_read_cb            (GtkWidget      *widget,
+                                                gpointer        data);
+
+static void toolbar_unread_cb          (GtkWidget      *widget,
+                                                gpointer        data);
+
 static void toolbar_print_cb                   (GtkWidget      *widget,
                                                 gpointer        data);
 
@@ -205,15 +229,25 @@ struct {
        { "A_EXECUTE",          N_("Execute")                              },
        { "A_GOTO_PREV",        N_("Go to Previous Unread Message")        },
        { "A_GOTO_NEXT",        N_("Go to Next Unread Message")            },
+
        { "A_IGNORE_THREAD",    N_("Ignore thread")                        },
        { "A_WATCH_THREAD",     N_("Watch thread")                         },
+       { "A_MARK",                     N_("Mark Message")                         },
+       { "A_UNMARK",                   N_("Unmark Message")                         },
+       { "A_LOCK",                     N_("Lock Message")                         },
+       { "A_UNLOCK",                   N_("Unlock Message")                         },
+       { "A_ALL_READ",                 N_("Mark all Messages as read")            },
+       { "A_ALL_UNREAD",               N_("Mark all Messages as unread")          },
+       { "A_READ",                     N_("Mark Message as read")                 },
+       { "A_UNREAD",                   N_("Mark Message as unread")               },
+
        { "A_PRINT",            N_("Print")                                },
        { "A_LEARN_SPAM",       N_("Learn Spam or Ham")                    },
        { "A_GO_FOLDERS",       N_("Open folder/Go to folder list")        },
        { "A_PREFERENCES",      N_("Preferences")                          },
 
        { "A_SEND",             N_("Send Message")                         },
-       { "A_SENDL",            N_("Put into queue folder and send later") },
+       { "A_SEND_LATER",       N_("Put into queue folder and send later") },
        { "A_DRAFT",            N_("Save to draft folder")                 },
        { "A_INSERT",           N_("Insert file")                          },   
        { "A_ATTACH",           N_("Attach file")                          },
@@ -313,11 +347,14 @@ GList *toolbar_get_action_items(ToolbarType source)
        gint i = 0;
        
        if (source == TOOLBAR_MAIN) {
-               gint main_items[] = { A_RECEIVE_ALL,   A_RECEIVE_CUR,   A_SEND_QUEUED,
-                                       A_COMPOSE_EMAIL, A_REPLY_MESSAGE, A_REPLY_SENDER, 
-                                       A_REPLY_ALL,     A_REPLY_ML,      A_OPEN_MAIL,     A_FORWARD, 
-                                       A_TRASH,         A_DELETE_REAL,   A_EXECUTE,       A_GOTO_PREV, 
-                                       A_GOTO_NEXT,     A_IGNORE_THREAD, A_WATCH_THREAD,  A_PRINT,
+               gint main_items[] = {
+                                       A_RECEIVE_ALL,   A_RECEIVE_CUR,   A_SEND_QUEUED,
+                                       A_COMPOSE_EMAIL, A_REPLY_MESSAGE, A_REPLY_SENDER,
+                                       A_REPLY_ALL,     A_REPLY_ML,      A_OPEN_MAIL,     A_FORWARD,
+                                       A_TRASH,         A_DELETE_REAL,   A_EXECUTE,       A_GOTO_PREV,
+                                       A_GOTO_NEXT,     A_IGNORE_THREAD, A_WATCH_THREAD,  A_MARK,
+                                       A_UNMARK,        A_LOCK,          A_UNLOCK,        A_ALL_READ,
+                                       A_ALL_UNREAD,    A_READ,          A_UNREAD,          A_PRINT,
                                        A_ADDRBOOK,      A_LEARN_SPAM,    A_GO_FOLDERS, 
                                        A_CANCEL_INC,    A_CANCEL_SEND,   A_CANCEL_ALL,    A_PREFERENCES };
 
@@ -326,23 +363,25 @@ GList *toolbar_get_action_items(ToolbarType source)
                }       
        }
        else if (source == TOOLBAR_COMPOSE) {
-               gint comp_items[] =   { A_SEND,          A_SENDL,        A_DRAFT,
+               gint comp_items[] =   {
+                                       A_SEND,          A_SEND_LATER,   A_DRAFT,
                                        A_INSERT,        A_ATTACH,       A_SIG,
-                                       A_REP_SIG,       A_EXTEDITOR,    A_LINEWRAP_CURRENT,     
+                                       A_REP_SIG,       A_EXTEDITOR,    A_LINEWRAP_CURRENT,
                                        A_LINEWRAP_ALL,  A_ADDRBOOK,
 #ifdef USE_ENCHANT
-                                       A_CHECK_SPELLING, 
+                                       A_CHECK_SPELLING,
 #endif
-                                       A_CLOSE };      
+                                       A_CLOSE };
 
                for (i = 0; i < sizeof comp_items / sizeof comp_items[0]; i++) 
                        items = g_list_append(items, gettext(toolbar_text[comp_items[i]].descr));
        }
        else if (source == TOOLBAR_MSGVIEW) {
-               gint msgv_items[] =   { A_COMPOSE_EMAIL, A_REPLY_MESSAGE, A_REPLY_SENDER,
-                                       A_REPLY_ALL,     A_REPLY_ML,      A_FORWARD,
-                                       A_TRASH, A_DELETE_REAL,       A_GOTO_PREV,        A_GOTO_NEXT,
-                                       A_ADDRBOOK,      A_LEARN_SPAM, A_CLOSE };       
+               gint msgv_items[] =   {
+                                       A_COMPOSE_EMAIL, A_REPLY_MESSAGE, A_REPLY_SENDER,
+                                       A_REPLY_ALL,     A_REPLY_ML,      A_FORWARD,
+                                       A_TRASH,         A_DELETE_REAL,   A_GOTO_PREV,      A_GOTO_NEXT,
+                                       A_ADDRBOOK,      A_LEARN_SPAM,    A_CLOSE };
 
                for (i = 0; i < sizeof msgv_items / sizeof msgv_items[0]; i++) 
                        items = g_list_append(items, gettext(toolbar_text[msgv_items[i]].descr));
@@ -418,11 +457,19 @@ const gchar *toolbar_get_short_text(int action) {
        case A_GOTO_NEXT:       return _("Next");
        case A_IGNORE_THREAD:   return _("Ignore thread");
        case A_WATCH_THREAD:    return _("Watch thread");
+       case A_MARK:            return _("Mark");
+       case A_UNMARK:          return _("Unmark");
+       case A_LOCK:            return _("Lock");
+       case A_UNLOCK:          return _("Unlock");
+       case A_ALL_READ:        return _("All read");
+       case A_ALL_UNREAD:      return _("All unread");
+       case A_READ:            return _("Read");
+       case A_UNREAD:          return _("Unread");
        case A_PRINT:           return _("Print");
        case A_CLOSE:           return _("Close");
        case A_PREFERENCES:     return _("Preferences");
        case A_SEND:            return _("Send");
-       case A_SENDL:           return _("Send later");
+       case A_SEND_LATER:      return _("Send later");
        case A_DRAFT:           return _("Draft");
        case A_INSERT:          return _("Insert");
        case A_ATTACH:          return _("Attach");
@@ -462,13 +509,21 @@ gint toolbar_get_icon(int action) {
        case A_LEARN_SPAM:      return STOCK_PIXMAP_SPAM_BTN;
        case A_GOTO_PREV:       return STOCK_PIXMAP_UP_ARROW;
        case A_GOTO_NEXT:       return STOCK_PIXMAP_DOWN_ARROW;
-       case A_IGNORE_THREAD:   return STOCK_PIXMAP_IGNORETHREAD;
-       case A_WATCH_THREAD:    return STOCK_PIXMAP_WATCHTHREAD;
+       case A_IGNORE_THREAD:   return STOCK_PIXMAP_MARK_IGNORETHREAD;
+       case A_WATCH_THREAD:    return STOCK_PIXMAP_MARK_WATCHTHREAD;
+       case A_MARK:            return STOCK_PIXMAP_MARK_MARK;
+       case A_UNMARK:          return STOCK_PIXMAP_MARK_UNMARK;
+       case A_LOCK:            return STOCK_PIXMAP_MARK_LOCKED;
+       case A_UNLOCK:          return STOCK_PIXMAP_MARK_UNLOCKED;
+       case A_ALL_READ:        return STOCK_PIXMAP_MARK_ALLREAD;
+       case A_ALL_UNREAD:      return STOCK_PIXMAP_MARK_ALLUNREAD;
+       case A_READ:            return STOCK_PIXMAP_MARK_READ;
+       case A_UNREAD:          return STOCK_PIXMAP_MARK_UNREAD;
        case A_PRINT:           return STOCK_PIXMAP_PRINTER;
        case A_CLOSE:           return STOCK_PIXMAP_CLOSE;
        case A_PREFERENCES:     return STOCK_PIXMAP_PREFERENCES;
        case A_SEND:            return STOCK_PIXMAP_MAIL_SEND;
-       case A_SENDL:           return STOCK_PIXMAP_MAIL_SEND_QUEUE;
+       case A_SEND_LATER:      return STOCK_PIXMAP_MAIL_SEND_QUEUE;
        case A_DRAFT:           return STOCK_PIXMAP_MAIL;
        case A_INSERT:          return STOCK_PIXMAP_INSERT_FILE;
        case A_ATTACH:          return STOCK_PIXMAP_MAIL_ATTACH;
@@ -559,7 +614,7 @@ static void toolbar_set_default_compose(void)
                { A_SEPARATOR}, 
 #endif
                { A_SEND},
-               { A_SENDL},
+               { A_SEND_LATER},
                { A_DRAFT},
                { A_SEPARATOR}, 
 #ifndef GENERIC_UMPC
@@ -1471,6 +1526,182 @@ static void toolbar_watch_thread_cb(GtkWidget *widget, gpointer data)
        }
 }
 
+static void toolbar_mark_cb(GtkWidget *widget, gpointer data)
+{
+       ToolbarItem *toolbar_item = (ToolbarItem*)data;
+       MainWindow *mainwin;
+
+       cm_return_if_fail(toolbar_item != NULL);
+
+       switch (toolbar_item->type) {
+       case TOOLBAR_MAIN:
+               mainwin = (MainWindow *) toolbar_item->parent;
+               summary_mark(mainwin->summaryview);
+               break;
+       case TOOLBAR_MSGVIEW:
+               /* TODO: see toolbar_next_unread_cb() if you need
+                * this in the message view */
+               break;
+       default:
+               debug_print("toolbar event not supported\n");
+               break;
+       }
+}
+
+static void toolbar_unmark_cb(GtkWidget *widget, gpointer data)
+{
+       ToolbarItem *toolbar_item = (ToolbarItem*)data;
+       MainWindow *mainwin;
+
+       cm_return_if_fail(toolbar_item != NULL);
+
+       switch (toolbar_item->type) {
+       case TOOLBAR_MAIN:
+               mainwin = (MainWindow *) toolbar_item->parent;
+               summary_unmark(mainwin->summaryview);
+               break;
+       case TOOLBAR_MSGVIEW:
+               /* TODO: see toolbar_next_unread_cb() if you need
+                * this in the message view */
+               break;
+       default:
+               debug_print("toolbar event not supported\n");
+               break;
+       }
+}
+
+static void toolbar_lock_cb(GtkWidget *widget, gpointer data)
+{
+       ToolbarItem *toolbar_item = (ToolbarItem*)data;
+       MainWindow *mainwin;
+
+       cm_return_if_fail(toolbar_item != NULL);
+
+       switch (toolbar_item->type) {
+       case TOOLBAR_MAIN:
+               mainwin = (MainWindow *) toolbar_item->parent;
+               summary_msgs_lock(mainwin->summaryview);
+               break;
+       case TOOLBAR_MSGVIEW:
+               /* TODO: see toolbar_next_unread_cb() if you need
+                * this in the message view */
+               break;
+       default:
+               debug_print("toolbar event not supported\n");
+               break;
+       }
+}
+
+static void toolbar_unlock_cb(GtkWidget *widget, gpointer data)
+{
+       ToolbarItem *toolbar_item = (ToolbarItem*)data;
+       MainWindow *mainwin;
+
+       cm_return_if_fail(toolbar_item != NULL);
+
+       switch (toolbar_item->type) {
+       case TOOLBAR_MAIN:
+               mainwin = (MainWindow *) toolbar_item->parent;
+               summary_msgs_unlock(mainwin->summaryview);
+               break;
+       case TOOLBAR_MSGVIEW:
+               /* TODO: see toolbar_next_unread_cb() if you need
+                * this in the message view */
+               break;
+       default:
+               debug_print("toolbar event not supported\n");
+               break;
+       }
+}
+
+static void toolbar_all_read_cb(GtkWidget *widget, gpointer data)
+{
+       ToolbarItem *toolbar_item = (ToolbarItem*)data;
+       MainWindow *mainwin;
+
+       cm_return_if_fail(toolbar_item != NULL);
+
+       switch (toolbar_item->type) {
+       case TOOLBAR_MAIN:
+               mainwin = (MainWindow *) toolbar_item->parent;
+               summary_mark_all_read(mainwin->summaryview, TRUE);
+               break;
+       case TOOLBAR_MSGVIEW:
+               /* TODO: see toolbar_next_unread_cb() if you need
+                * this in the message view */
+               break;
+       default:
+               debug_print("toolbar event not supported\n");
+               break;
+       }
+}
+
+static void toolbar_all_unread_cb(GtkWidget *widget, gpointer data)
+{
+       ToolbarItem *toolbar_item = (ToolbarItem*)data;
+       MainWindow *mainwin;
+
+       cm_return_if_fail(toolbar_item != NULL);
+
+       switch (toolbar_item->type) {
+       case TOOLBAR_MAIN:
+               mainwin = (MainWindow *) toolbar_item->parent;
+               summary_mark_all_read(mainwin->summaryview, FALSE);
+               break;
+       case TOOLBAR_MSGVIEW:
+               /* TODO: see toolbar_next_unread_cb() if you need
+                * this in the message view */
+               break;
+       default:
+               debug_print("toolbar event not supported\n");
+               break;
+       }
+}
+
+static void toolbar_read_cb(GtkWidget *widget, gpointer data)
+{
+       ToolbarItem *toolbar_item = (ToolbarItem*)data;
+       MainWindow *mainwin;
+
+       cm_return_if_fail(toolbar_item != NULL);
+
+       switch (toolbar_item->type) {
+       case TOOLBAR_MAIN:
+               mainwin = (MainWindow *) toolbar_item->parent;
+               summary_mark_as_read(mainwin->summaryview, TRUE);
+               break;
+       case TOOLBAR_MSGVIEW:
+               /* TODO: see toolbar_next_unread_cb() if you need
+                * this in the message view */
+               break;
+       default:
+               debug_print("toolbar event not supported\n");
+               break;
+       }
+}
+
+static void toolbar_unread_cb(GtkWidget *widget, gpointer data)
+{
+       ToolbarItem *toolbar_item = (ToolbarItem*)data;
+       MainWindow *mainwin;
+
+       cm_return_if_fail(toolbar_item != NULL);
+
+       switch (toolbar_item->type) {
+       case TOOLBAR_MAIN:
+               mainwin = (MainWindow *) toolbar_item->parent;
+               summary_mark_as_unread(mainwin->summaryview, FALSE);
+               break;
+       case TOOLBAR_MSGVIEW:
+               /* TODO: see toolbar_next_unread_cb() if you need
+                * this in the message view */
+               break;
+       default:
+               debug_print("toolbar event not supported\n");
+               break;
+       }
+}
+
 static void toolbar_cancel_inc_cb(GtkWidget *widget, gpointer data)
 {
        ToolbarItem *toolbar_item = (ToolbarItem*)data;
@@ -1523,7 +1754,7 @@ static void toolbar_send_cb(GtkWidget *widget, gpointer data)
 
 static void toolbar_send_later_cb(GtkWidget *widget, gpointer data)
 {
-       compose_toolbar_cb(A_SENDL, data);
+       compose_toolbar_cb(A_SEND_LATER, data);
 }
 
 static void toolbar_draft_cb(GtkWidget *widget, gpointer data)
@@ -1736,12 +1967,20 @@ static void toolbar_buttons_cb(GtkWidget   *widget,
                { A_GOTO_NEXT,          toolbar_next_unread_cb          },
                { A_IGNORE_THREAD,      toolbar_ignore_thread_cb        },
                { A_WATCH_THREAD,       toolbar_watch_thread_cb         },
-               { A_PRINT,              toolbar_print_cb                },
+               { A_MARK,                       toolbar_mark_cb                 },
+               { A_UNMARK,                     toolbar_unmark_cb               },
+               { A_LOCK,                       toolbar_lock_cb                 },
+               { A_UNLOCK,                     toolbar_unlock_cb               },
+               { A_ALL_READ,           toolbar_all_read_cb             },
+               { A_ALL_UNREAD,         toolbar_all_unread_cb   },
+               { A_READ,                       toolbar_read_cb },
+               { A_UNREAD,                     toolbar_unread_cb       },
+               { A_PRINT,                      toolbar_print_cb                },
                { A_LEARN_SPAM,         toolbar_learn_cb                },
                { A_GO_FOLDERS,         toolbar_go_folders_cb           },
 
                { A_SEND,               toolbar_send_cb                 },
-               { A_SENDL,              toolbar_send_later_cb           },
+               { A_SEND_LATER, toolbar_send_later_cb           },
                { A_DRAFT,              toolbar_draft_cb                },
                { A_OPEN_MAIL,          toolbar_open_mail_cb            },
                { A_CLOSE,              toolbar_close_cb                },
@@ -2102,7 +2341,7 @@ Toolbar *toolbar_create(ToolbarType        type,
                        TOOLBAR_ITEM(item,icon_wid,toolbar_item->text,_("Send Message"));
                        toolbar_data->send_btn = item;
                        break;
-               case A_SENDL:
+               case A_SEND_LATER:
                        TOOLBAR_ITEM(item,icon_wid,toolbar_item->text,_("Put into queue folder and send later"));
                        toolbar_data->sendl_btn = item;
                        break;
index f8b1f21d54c38f6c42f4dfcfc0e4c5c39a8612b2..1a11b9a366692946f913343c51a0e338257d6dc9 100644 (file)
@@ -150,8 +150,8 @@ struct _ToolbarItem {
 
 
 
-/* enum holds available actions for both 
-   Compose Toolbar and Main Toolbar 
+/* enum holds available actions for both
+   Compose Toolbar and Main Toolbar
 */
 enum {
        /* main toolbar */
@@ -173,6 +173,14 @@ enum {
        A_GOTO_NEXT,
        A_IGNORE_THREAD,
        A_WATCH_THREAD,
+       A_MARK,
+       A_UNMARK,
+       A_LOCK,
+       A_UNLOCK,
+       A_ALL_READ,
+       A_ALL_UNREAD,
+       A_READ,
+       A_UNREAD,
        A_PRINT,
        A_LEARN_SPAM,
        A_GO_FOLDERS,
@@ -180,7 +188,7 @@ enum {
 
        /* compose toolbar */
        A_SEND,
-       A_SENDL,
+       A_SEND_LATER,
        A_DRAFT,
        A_INSERT,
        A_ATTACH,