Merge branch 'master' into terencehill/menu_gametype_tooltips_2
authorterencehill <piuntn@gmail.com>
Sat, 10 Oct 2015 11:32:08 +0000 (13:32 +0200)
committerterencehill <piuntn@gmail.com>
Sat, 10 Oct 2015 11:32:08 +0000 (13:32 +0200)
Conflicts:
qcsrc/menu/xonotic/dialog_settings_game.qc

1  2 
qcsrc/common/mapinfo.qh
qcsrc/menu/item/listbox.qc
qcsrc/menu/xonotic/dialog_settings_game.qc

Simple merge
Simple merge
@@@ -12,14 -12,7 +12,14 @@@ CLASS(SettingSource, DataSource
          if (returns) returns(it.title, string_null);
          return it;
      }
-     METHOD(SettingSource, getEntryTooltip, entity(int i, void(string theTooltip) returns))
++    METHOD(SettingSource, getEntryTooltip, entity(entity this, int i, void(string theTooltip) returns))
 +    {
-         Lazy l = SETTINGS[i];
++        Lazy l = Settings[i];
 +        entity it = l.m_get();
 +        if (returns) returns(it.tooltip);
 +        return it;
 +    }
-     METHOD(SettingSource, reload, int(string filter)) { return SETTINGS_COUNT; }
+     METHOD(SettingSource, reload, int(entity this, string filter)) { return Settings_COUNT; }
  ENDCLASS(SettingSource)
  
  #include "listbox.qc"
@@@ -53,7 -38,7 +53,7 @@@ CLASS(XonoticRegisteredSettingsList, Xo
        METHOD(XonoticRegisteredSettingsList, drawListBoxItem, void(entity this, int i, vector absSize, bool isSelected, bool isFocused))
        {
                if (!this.source) return;
-               if (!this.source.getEntry(i, XonoticRegisteredSettingsList_getNameIcon_cb)) return;
 -              if (!this.source.getEntry(this.source, i, XonoticRegisteredSettingsList_cb)) return;
++              if (!this.source.getEntry(this.source, i, XonoticRegisteredSettingsList_getNameIcon_cb)) return;
                string name = XonoticRegisteredSettingsList_cb_name;
                if (isSelected) {
                        draw_Fill('0 0 0', '1 1 0', SKINCOLOR_LISTBOX_SELECTED, SKINALPHA_LISTBOX_SELECTED);
                string s = draw_TextShortenToWidth(strdecolorize(name), 1, 0, this.realFontSize);
                draw_Text(this.realUpperMargin * eY + (0.5 * this.realFontSize.x) * eX, s, this.realFontSize, '1 1 1', SKINALPHA_TEXT, 0);
        }
-               if (!this.source.getEntryTooltip(this.focusedItem, XonoticRegisteredSettingsList_getTooltip_cb))
 +
 +      METHOD(XonoticRegisteredSettingsList, focusedItemChangeNotify, void(entity this))
 +      {
 +              if (this.focusedItem == -1 || !this.source)
 +              {
 +                      clearTooltip(this);
 +                      return;
 +              }
++              if (!this.source.getEntryTooltip(this, this.focusedItem, XonoticRegisteredSettingsList_getTooltip_cb))
 +              {
 +                      clearTooltip(this);
 +                      return;
 +              }
 +              string theTooltip = XonoticRegisteredSettingsList_cb_tooltip;
 +              if(theTooltip != "")
 +                      setZonedTooltip(this, theTooltip, string_null);
 +              else
 +                      clearTooltip(this);
 +      }
 +
        METHOD(XonoticRegisteredSettingsList, refilter, void(entity this))
        {
                if (!this.source) {