Commit graph

884 commits

Author SHA1 Message Date
Mathias Gumz
b8987fc623 code simplification / deduplication
* parse the string only once for a bunch of chars to check instead of
  starting over again and again from the beginning, created a helper
  function to do this (FbTk::StringUtil::findCharFromAlphabetAfterTrigger)

* put same code into a function (setClockModeLabel())

* use much simpler code to switch between 12h and 24h mode and replace
  the fmt-switches
2010-08-24 17:30:24 +02:00
Jim Ramsay
a3b063292c bugfix: another crash when cleaning up signals
While 769130f51a did fix one issue, it introduced another by changing the
logic related to the new SignalTracker.  The original logic (introduced in
9ad388c5bf) was:
  -> in 'leave(Signal)', only call 'disconnect'
  -> in 'leaveAll()', call 'disconnect' and 'disconnectTracker'
But 769130f51a inverted this, calling 'disconnectTracker' in both cases but
only 'disconnect' in the 'leaveAll()' case, which would leave unattached signals
around after calling 'leave(Signal)'.

This fix not only repairs the logic, but renames the ambiguous 'disconnect'
boolean to something more explicit: 'withTracker'.
2010-07-14 11:36:00 -04:00
Mathias Gumz
769130f51a bugfix: do not use invalid iterators while looping thru a container which gets destroyed 2010-05-23 15:58:35 +02:00
Mathias Gumz
fbcdd34b22 mostly cosmetic fixes, mainly discovered by 'clang --analyze'
reordering of Resource-related stuff was because of

   "error: explicit specialization of 'getString' after instantiation"

complaints.
2010-05-23 12:25:47 +02:00
Mathias Gumz
ff9c68e247 fixed potential memory leak 2010-05-16 14:25:59 +02:00
Mathias Gumz
17b21635a2 cleanup created corner pixmaps, moved the initCorners() function out of the class 2010-05-16 14:25:36 +02:00
Mathias Gumz
04739b2d1f initialize all member variables, otherwise unclean state in some circumstances
(valgrind complained a lot about ::updateGeometry() accessing uninitialized variables)
2010-05-16 14:24:34 +02:00
Mathias Gumz
bca59851f3 bugfix: crash when cleaning up signals
22fa5f544b was not fixing anything, the real cause is that the
SignalHolder still has a reference to a not existing Tracker.
2010-05-07 09:36:30 +02:00
Mathias Gumz
615e9cec32 compile fix: FD_ZERO (sys/select.h) on solaris wants to use memset(); closes #2997117 2010-05-06 21:19:31 +02:00
Mathias Gumz
22fa5f544b bugfix: added missing 'virtual' keyword, otherwise fluxbox crashes with 'pure virtual method called' 2010-05-06 20:25:47 +02:00
Henrik Kinnunen
9ad388c5bf Added Tracker interface for SignalHolder.
This is used by SignalTracker so Signals can disconnect from it when
they die.
2010-03-26 18:04:58 +01:00
Henrik Kinnunen
1cae9f22f8 Minor fix for argument reference in MemFunSelectArgImpl 2010-03-26 18:00:23 +01:00
Henrik Kinnunen
5bc782561b Initialize all variables in FbWindow 2010-03-26 17:28:18 +01:00
Henrik Kinnunen
f150f727b2 Added SelectArg.hh to Makefile.am 2010-03-19 02:32:17 +01:00
Henrik Kinnunen
ceff86b794 Added SelectArg and MemFunSelectArg*
The MemFunSelectArg* functions can be used to select
a specific argument from a signal. For example this would
select the string argument as argument to the callback:

Signal<void, int, float, string> signal;
signal.connect(MemFunSelectArg2(obj, &Object::takesOneStringArg));
signal.emit(10, 3.14, "hello");

...

void Object::takesOneStringArg(const string& value) {
...
}
2010-03-19 02:23:41 +01:00
Henrik Kinnunen
68e90ab84f Added missing RelaySignal.hh to Makefile.am 2010-03-18 19:47:14 +01:00
Henrik Kinnunen
02bb93590c Added FbTk::relaySignal, which relays new signals to old Subject type signals. 2010-03-18 19:35:19 +01:00
Henrik Kinnunen
18570d83a2 minor cleaning in MemFun.hh 2010-03-18 10:56:15 +01:00
Henrik Kinnunen
0504de454a Added MemFunIgnoreArgs which ignores aditional arguments.
For example connecting a function that takes two arguments
to a signal that emits three arguments:
struct Functor {
    void show(int a, int b);
};
Functor f;
Signal<void, int, int, int> s3;
s3.connect(MemFunIgnoreArgs(f, &Functor::show));
2010-03-18 10:45:33 +01:00
Mathias Gumz
254bc96daf fixed little preprocessor error 2010-02-27 10:33:06 +01:00
Mathias Gumz
c65dc30fc2 improved documentation of the code 2010-01-19 20:20:13 +01:00
Mathias Gumz
46261a8284 implemented 'MoveN' and 'ClickN' support in keys file.
the hardcoded 'OnTitlebar Mouse1 :Raise' (see Window.cc, FluxboxWindow::buttonPressEvent())
is disabled for now, should be added to fluxbox-update_configs
2009-12-18 08:05:07 +01:00
Mark Tiefenbruck
8def80cec3 reportedly fix compiling on gcc 4.4 on Solaris 2009-10-08 00:18:43 -07:00
Mathias Gumz
6645688880 definition should match declaration 2009-10-03 13:53:13 +02:00
Mathias Gumz
69bf3965b7 compile fixes for sun compiler 5.10: class Layer conflicts with class FbTk/Layer .. so just a little renaming 2009-10-03 13:53:00 +02:00
Mathias Gumz
f2ea245f1d compile fixes for sun compiler 5.10: complains about 'not beeing able to initialize this from that' 2009-10-03 13:38:41 +02:00
Mathias Gumz
261ba26d27 another little helper for FbTk::StringUtil: extractNumber() 2009-10-01 21:16:46 +02:00
Mathias Gumz
4eeac74a3d removed unused code 2009-10-01 08:58:56 +02:00
Mathias Gumz
65a45dc65f compile fix: missing include guards 2009-10-01 08:57:46 +02:00
Mathias Gumz
c4c96ec830 simpler code 2009-10-01 08:57:31 +02:00
Mathias Gumz
078438e993 compile fix: missing headers (sun compiler complained about) 2009-10-01 08:41:04 +02:00
Mathias Gumz
6c0739e889 compile fix: using correct forward declaration for template classes
we got this 'Warning (Anachronism): Old syntax for explicit specialization or
 instantiation ignored.' with the solaris compiler
2009-10-01 07:34:37 +02:00
Mathias Gumz
38ef6e5155 made code simpler 2009-10-01 07:07:07 +02:00
Mathias Gumz
69de5b5a00 cosmetic fix: removed warning about double ';' after command
static xyz inside a anonymous namespace is not really needed, so i removed the namespace
to get rid of the compiler warning. it's more convinient for the developer
to put ';' after that REGISTER_COMMAND_PARSER
2009-09-30 21:08:55 +02:00
Mathias Gumz
f8c61a1ba2 compile fix: use the correct format string to parse the number 2009-09-30 21:05:02 +02:00
Mathias Gumz
12fe9ca7a8 compile fix: sun compiler complains about missing std::mem_fun_t<> 2009-09-30 21:03:25 +02:00
Mathias Gumz
884db973bb cosmetic fixes: removed redundant ';' + some whitespaces 2009-09-30 21:02:24 +02:00
Mathias Gumz
4663a9591e bugfix: 'HideMenus' command did not work if the user 'opened' an empty submenu.
'openeing' such an empty submenu lead to an already hidden menu referenced by
the 'shown' pointer
2009-09-23 22:21:13 +02:00
Mark Tiefenbruck
ca9e2e0d15 allow navigating multi-column menus with left and right arrows 2009-08-08 10:20:45 -07:00
Mark Tiefenbruck
9f59ce18a2 change default toolbar tools to:
prevworkspace, workspacename, nextworkspace, iconbar, systemtray, clock
2009-06-28 10:54:55 -07:00
Mark Tiefenbruck
c1d9ae5068 fix changing iconbar alignment and button width from init file 2009-06-28 09:39:28 -07:00
Mark Tiefenbruck
659af0eb75 allow 'Ctrl' and 'Alt' as modifiers in keys file 2009-06-28 09:12:02 -07:00
Mark Tiefenbruck
4e586cc172 previous fix for reverting iconbar to relative broke external tabs 2009-06-28 08:22:51 -07:00
Mark Tiefenbruck
fe92b6b39b revert to relative iconbar alignment when too many windows are open 2009-06-28 03:40:50 -07:00
Jim Ramsay
ff6a46391f Error on incomplete MacroCmd key command 2009-05-26 16:27:31 -04:00
Jim Ramsay
a56e409b1f Exit loop for unterminated { } pair 2009-05-26 16:27:31 -04:00
Mark Tiefenbruck
e770016660 remove unnecessary xpm.h include in imlib code 2009-02-24 14:22:18 -08:00
Mark Tiefenbruck
9bd6401013 ignore XRandr events that don't actually change the screen size 2008-10-14 19:40:33 -07:00
Mark Tiefenbruck
5b07791ed4 merge menuDelay and menuDelayClose options 2008-10-12 21:55:03 -07:00
Mathias Gumz
93924af160 using namespace instead of a useless class 2008-10-09 09:38:42 +02:00