[gnumeric] Fix in-cell-combos attached to merged cells. [#702146]
- From: Andreas J. Guelzow <guelzow src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnumeric] Fix in-cell-combos attached to merged cells. [#702146]
- Date: Thu, 13 Jun 2013 06:29:20 +0000 (UTC)
commit 58e7c5f28e661040b34e920b313061b1e939dc82
Author: Andreas J Guelzow <aguelzow pyrshep ca>
Date: Thu Jun 13 00:28:06 2013 -0600
Fix in-cell-combos attached to merged cells. [#702146]
2013-06-13 Andreas J. Guelzow <aguelzow pyrshep ca>
* gnm-cell-combo-view.c (gnm_cell_combo_view_popdown): pop up the
menu below a merge.
NEWS | 1 +
src/widgets/ChangeLog | 5 +++++
src/widgets/gnm-cell-combo-view.c | 16 +++++++++++-----
3 files changed, 17 insertions(+), 5 deletions(-)
---
diff --git a/NEWS b/NEWS
index 8266f73..f92da51 100644
--- a/NEWS
+++ b/NEWS
@@ -18,6 +18,7 @@ Andreas:
* Make reference display in paste/define names dialog consistent with
sheet preferences. [Debian #699054]
* Write/read pagesetup settings to/from xlsx. [#701834]
+ * Fix in-cell-combos attached to merged cells. [#702146]
Darrell Tangman:
* Update documentation for Edit and Insert menus. [#700596]
diff --git a/src/widgets/ChangeLog b/src/widgets/ChangeLog
index 473c251..c8f9a68 100644
--- a/src/widgets/ChangeLog
+++ b/src/widgets/ChangeLog
@@ -1,3 +1,8 @@
+2013-06-13 Andreas J. Guelzow <aguelzow pyrshep ca>
+
+ * gnm-cell-combo-view.c (gnm_cell_combo_view_popdown): pop up the
+ menu below a merge.
+
2013-04-26 Morten Welinder <terra gnome org>
* Release 1.12.2
diff --git a/src/widgets/gnm-cell-combo-view.c b/src/widgets/gnm-cell-combo-view.c
index 88a14ab..27cf44d 100644
--- a/src/widgets/gnm-cell-combo-view.c
+++ b/src/widgets/gnm-cell-combo-view.c
@@ -28,7 +28,9 @@
#include "wbc-gtk.h"
#include "sheet.h"
#include "sheet-control-gui.h"
+#include "sheet-merge.h"
#include "gnm-pane-impl.h"
+#include "ranges.h"
#include <goffice/goffice.h>
#include <gtk/gtk.h>
@@ -149,7 +151,7 @@ ccombo_popup_destroy (GtkWidget *list)
}
static gint
-cb_ccombo_key_press (GtkWidget *popup, GdkEventKey *event, GtkWidget *list)
+cb_ccombo_key_press (G_GNUC_UNUSED GtkWidget *popup, GdkEventKey *event, GtkWidget *list)
{
switch (event->keyval) {
case GDK_KEY_Escape :
@@ -175,7 +177,7 @@ cb_ccombo_key_press (GtkWidget *popup, GdkEventKey *event, GtkWidget *list)
}
static gboolean
-cb_ccombo_popup_motion (GtkWidget *widget, GdkEventMotion *event,
+cb_ccombo_popup_motion (G_GNUC_UNUSED GtkWidget *widget, GdkEventMotion *event,
GtkTreeView *list)
{
int base, dir = 0;
@@ -282,6 +284,7 @@ gnm_cell_combo_view_popdown (SheetObjectView *sov, guint32 activate_time)
GtkWindow *toplevel = wbcg_toplevel (scg_wbcg (scg));
GdkWindow *popup_window;
GdkDevice *device;
+ GnmRange const *merge;
popup = gtk_window_new (GTK_WINDOW_POPUP);
@@ -360,10 +363,13 @@ gnm_cell_combo_view_popdown (SheetObjectView *sov, guint32 activate_time)
root_x += scg_colrow_distance_get (scg, TRUE,
pane->first.col,
so->anchor.cell_bound.start.col);
+ merge = gnm_sheet_merge_is_corner (sheet, &(so->anchor.cell_bound.start));
gtk_window_move (GTK_WINDOW (popup), root_x,
- root_y + scg_colrow_distance_get (scg, FALSE,
- pane->first.row,
- so->anchor.cell_bound.start.row + 1));
+ root_y + scg_colrow_distance_get
+ (scg, FALSE,
+ pane->first.row,
+ so->anchor.cell_bound.start.row +
+ ((merge == NULL) ? 1 : range_height (merge))));
gtk_container_add (GTK_CONTAINER (popup), frame);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]