Ticket #3026: Find File: "All charsets" options don't work.

(mc_search_prepare): use cp_display not cp_source to convert text to all
available charsets.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
lib/search/search.c: cosmetics.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Merge branch '3026_findfile_all_charsets'

* 3026_findfile_all_charsets:
  lib/search/search.c: cosmetics.
  Ticket #3026: Find File: "All charsets" options don't work.
Ticket #2706: hex viewer: continue search doesn't work.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Don't adjust viewer parameters twice after search in the hex mode.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Merge branch '2706_hexview_search_continue'

* 2706_hexview_search_continue:
  Don't adjust viewer parameters twice after search in the hex mode.
  Ticket #2706: hex viewer: continue search doesn't work.
Subject: Ticket #2919: create WGroup widget.

WGroup is base widget for complex objects such as windows, dialog
windows, etc.

Initial step:
  * (dlg_default_repaint): make static. Use dlg_default_callback (MSG_DRAW)
  instead.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Move W_DISABLED option to new widget_state_t flags

...and rename to WIDGET_STATE_DISABLED.

  * Widget::state: new field.
  * Widget::set_state: new virtual method.
  * (widget_set_state): new function.
  * (widget_default_set_state_callback): new function.
  * (input_set_options_callback): rename to input_set_state_callback.
  * (widget_set_options): symplify.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Move W_WANT_IDLE option to widget_state_t flags

...and rename to WIDGET_STATE_IDLE.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Modify widget ID issues:

Use global counter to set widget ID.

(wid_t): new type for widget ID.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Create WGroup class.

Initial step: move widget list of dialog into WGroup class.
Inherit WGroup from Widget. Inherit WDialog from WGroup.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Add WGroup API:

  * group_set_current_next;
  * group_set_current_prev;
  * group_get_next_of;
  * group_get_prev_of.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
WGroup API: move add/delete widgets API from dialog to group.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
WGroup API: group_send_broadcast_msg.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Reimplement of widgets init/deinit.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Reimplement find widget functions to support groups.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
(widget_is_active): reimplement to support groups

...and related changes.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
W_TOP_SELECT: new widget option to place widget on top of other widgets in group.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Join widget_state_t and dlg_state_t.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Start reimplementation of widget selection.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>