[Commits] [SCM] claws branch, master, updated. 3.14.1-44-g382a3fe

wwp at claws-mail.org wwp at claws-mail.org
Mon Dec 12 15:32:36 CET 2016


The branch, master has been updated
       via  382a3fed9dd3209321b639774e3e46f5d5294388 (commit)
      from  b7df74e8f5a7e6f948c63da3a7a3808fcc108935 (commit)

Summary of changes:
 src/compose.c                     |    2 +-
 src/pixmaps/mark_allread.xpm      |   90 ++++++++++++
 src/pixmaps/mark_allunread.xpm    |   37 +++++
 src/pixmaps/mark_ignorethread.xpm |   98 +++++++++++++
 src/pixmaps/mark_locked.xpm       |  101 +++++++++++++
 src/pixmaps/mark_mark.xpm         |   69 +++++++++
 src/pixmaps/mark_read.xpm         |   69 +++++++++
 src/pixmaps/mark_unlocked.xpm     |   95 +++++++++++++
 src/pixmaps/mark_unmark.xpm       |   77 ++++++++++
 src/pixmaps/mark_unread.xpm       |   36 +++++
 src/pixmaps/mark_watchthread.xpm  |   92 ++++++++++++
 src/prefs_toolbar.c               |   10 ++
 src/stock_pixmap.c                |   20 +++
 src/stock_pixmap.h                |   10 ++
 src/toolbar.c                     |  285 ++++++++++++++++++++++++++++++++++---
 src/toolbar.h                     |   14 +-
 16 files changed, 1078 insertions(+), 27 deletions(-)
 create mode 100644 src/pixmaps/mark_allread.xpm
 create mode 100644 src/pixmaps/mark_allunread.xpm
 create mode 100644 src/pixmaps/mark_ignorethread.xpm
 create mode 100644 src/pixmaps/mark_locked.xpm
 create mode 100644 src/pixmaps/mark_mark.xpm
 create mode 100644 src/pixmaps/mark_read.xpm
 create mode 100644 src/pixmaps/mark_unlocked.xpm
 create mode 100644 src/pixmaps/mark_unmark.xpm
 create mode 100644 src/pixmaps/mark_unread.xpm
 create mode 100644 src/pixmaps/mark_watchthread.xpm


- Log -----------------------------------------------------------------
commit 382a3fed9dd3209321b639774e3e46f5d5294388
Author: wwp <wwp at free.fr>
Date:   Mon Dec 12 15:30:24 2016 +0100

    Add new actions to main window's toolbar: mark, unmark, lock, unlock,
    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.

diff --git a/src/compose.c b/src/compose.c
index 10ecdc2..ae84883 100644
--- a/src/compose.c
+++ b/src/compose.c
@@ -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
index 0000000..b63d25f
--- /dev/null
+++ b/src/pixmaps/mark_allread.xpm
@@ -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
index 0000000..503367c
--- /dev/null
+++ b/src/pixmaps/mark_allunread.xpm
@@ -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
index 0000000..d26b19d
--- /dev/null
+++ b/src/pixmaps/mark_ignorethread.xpm
@@ -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
index 0000000..83e7b6e
--- /dev/null
+++ b/src/pixmaps/mark_locked.xpm
@@ -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
index 0000000..84cf69d
--- /dev/null
+++ b/src/pixmaps/mark_mark.xpm
@@ -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
index 0000000..ab9e107
--- /dev/null
+++ b/src/pixmaps/mark_read.xpm
@@ -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
index 0000000..d5f00a2
--- /dev/null
+++ b/src/pixmaps/mark_unlocked.xpm
@@ -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
index 0000000..f1f2695
--- /dev/null
+++ b/src/pixmaps/mark_unmark.xpm
@@ -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
index 0000000..910464b
--- /dev/null
+++ b/src/pixmaps/mark_unread.xpm
@@ -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
index 0000000..08cb6fb
--- /dev/null
+++ b/src/pixmaps/mark_watchthread.xpm
@@ -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++    ",
+"                        "};
diff --git a/src/prefs_toolbar.c b/src/prefs_toolbar.c
index fc9a17b..24efd93 100644
--- a/src/prefs_toolbar.c
+++ b/src/prefs_toolbar.c
@@ -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 */
 };
 
diff --git a/src/stock_pixmap.c b/src/stock_pixmap.c
index f40369d..4d968d3 100644
--- a/src/stock_pixmap.c
+++ b/src/stock_pixmap.c
@@ -214,6 +214,16 @@
 #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}
 };
 
diff --git a/src/stock_pixmap.h b/src/stock_pixmap.h
index 1a11623..9995cfe 100644
--- a/src/stock_pixmap.h
+++ b/src/stock_pixmap.h
@@ -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;
diff --git a/src/toolbar.c b/src/toolbar.c
index ee98c9e..edf28e9 100644
--- a/src/toolbar.c
+++ b/src/toolbar.c
@@ -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;
diff --git a/src/toolbar.h b/src/toolbar.h
index f8b1f21..1a11b9a 100644
--- a/src/toolbar.h
+++ b/src/toolbar.h
@@ -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,

-----------------------------------------------------------------------


hooks/post-receive
-- 
Claws Mail


More information about the Commits mailing list