fix(th_14_panels): 改为独立维护 ShortX 图标颜色状态
This commit is contained in:
@@ -931,7 +931,7 @@ FloatBallAppWM.prototype.buildButtonEditorPanelView = function() {
|
|||||||
|
|
||||||
var btnColorShortX = self.ui.createFlatButton(self, "\u989c\u8272", C.primary, function() {
|
var btnColorShortX = self.ui.createFlatButton(self, "\u989c\u8272", C.primary, function() {
|
||||||
self.touchActivity();
|
self.touchActivity();
|
||||||
var currentTint = (inputShortXIconTint && inputShortXIconTint.input) ? String(inputShortXIconTint.input.getText() || "") : "";
|
var currentTint = currentShortXIconTint || "";
|
||||||
self.showColorPickerPopup({
|
self.showColorPickerPopup({
|
||||||
currentColor: currentTint,
|
currentColor: currentTint,
|
||||||
currentIconName: currentShortXIconName,
|
currentIconName: currentShortXIconName,
|
||||||
@@ -1104,8 +1104,7 @@ FloatBallAppWM.prototype.buildButtonEditorPanelView = function() {
|
|||||||
shortxPickerState.previewNameTv.setText(normalizedShort ? ("\u5df2\u9009: " + normalizedShort) : "\u672a\u9009\u62e9\u56fe\u6807");
|
shortxPickerState.previewNameTv.setText(normalizedShort ? ("\u5df2\u9009: " + normalizedShort) : "\u672a\u9009\u62e9\u56fe\u6807");
|
||||||
}
|
}
|
||||||
if (shortxPickerState.previewIv) {
|
if (shortxPickerState.previewIv) {
|
||||||
var tintHex = "";
|
var tintHex = currentShortXIconTint || "";
|
||||||
try { tintHex = String(inputShortXIconTint.getValue() || ""); } catch(eTint) {}
|
|
||||||
var drPreview = normalizedShort ? self.resolveShortXDrawable(normalizedShort, tintHex) : null;
|
var drPreview = normalizedShort ? self.resolveShortXDrawable(normalizedShort, tintHex) : null;
|
||||||
if (drPreview) {
|
if (drPreview) {
|
||||||
shortxPickerState.previewIv.setImageDrawable(drPreview);
|
shortxPickerState.previewIv.setImageDrawable(drPreview);
|
||||||
@@ -1168,7 +1167,7 @@ FloatBallAppWM.prototype.buildButtonEditorPanelView = function() {
|
|||||||
try { shortxPickerState.prevBtn.setEnabled(shortxPickerState.currentPage > 0); } catch(ePrev) {}
|
try { shortxPickerState.prevBtn.setEnabled(shortxPickerState.currentPage > 0); } catch(ePrev) {}
|
||||||
try { shortxPickerState.nextBtn.setEnabled(shortxPickerState.currentPage < totalPages - 1); } catch(eNext) {}
|
try { shortxPickerState.nextBtn.setEnabled(shortxPickerState.currentPage < totalPages - 1); } catch(eNext) {}
|
||||||
applyShortXTabStyles();
|
applyShortXTabStyles();
|
||||||
var tintHex = String(inputShortXIconTint.getValue() || "");
|
var tintHex = currentShortXIconTint || "";
|
||||||
var selectedShort = currentShortXIconName ? self.normalizeShortXIconName(currentShortXIconName, false) : "";
|
var selectedShort = currentShortXIconName ? self.normalizeShortXIconName(currentShortXIconName, false) : "";
|
||||||
for (i = 0; i < result.length; i++) {
|
for (i = 0; i < result.length; i++) {
|
||||||
(function(entry) {
|
(function(entry) {
|
||||||
@@ -1250,6 +1249,7 @@ FloatBallAppWM.prototype.buildButtonEditorPanelView = function() {
|
|||||||
|
|
||||||
// # ShortX 图标颜色(留空跟随主题)
|
// # ShortX 图标颜色(留空跟随主题)
|
||||||
var defaultTint = targetBtn.iconTint ? String(targetBtn.iconTint) : "";
|
var defaultTint = targetBtn.iconTint ? String(targetBtn.iconTint) : "";
|
||||||
|
var currentShortXIconTint = defaultTint;
|
||||||
var inputShortXIconTint = self.ui.createInputGroup(self, "图标颜色 (留空跟随主题)", defaultTint, false, "支持 #RRGGBB / #AARRGGBB;下方可展开完整调色板");
|
var inputShortXIconTint = self.ui.createInputGroup(self, "图标颜色 (留空跟随主题)", defaultTint, false, "支持 #RRGGBB / #AARRGGBB;下方可展开完整调色板");
|
||||||
form.addView(inputShortXIconTint.view);
|
form.addView(inputShortXIconTint.view);
|
||||||
// # 避免 Rhino 闭包问题:将输入框引用存储到 self.state,供颜色选择器回调使用
|
// # 避免 Rhino 闭包问题:将输入框引用存储到 self.state,供颜色选择器回调使用
|
||||||
@@ -1343,12 +1343,14 @@ FloatBallAppWM.prototype.buildButtonEditorPanelView = function() {
|
|||||||
try { raw = String(inputShortXIconTint.getValue() || "").replace(/^\s+|\s+$/g, ""); } catch(eTintRaw0) {}
|
try { raw = String(inputShortXIconTint.getValue() || "").replace(/^\s+|\s+$/g, ""); } catch(eTintRaw0) {}
|
||||||
var normalized = normalizeTintColorValue(raw, true);
|
var normalized = normalizeTintColorValue(raw, true);
|
||||||
if (raw && !normalized) {
|
if (raw && !normalized) {
|
||||||
|
currentShortXIconTint = raw;
|
||||||
updateTintAlphaLabel(0);
|
updateTintAlphaLabel(0);
|
||||||
updateTintPalettePreviewText("", false, raw);
|
updateTintPalettePreviewText("", false, raw);
|
||||||
updateShortXIconPreview();
|
updateShortXIconPreview();
|
||||||
if (shortxPickerState.expanded) renderShortXIconGrid();
|
if (shortxPickerState.expanded) renderShortXIconGrid();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
currentShortXIconTint = normalized || "";
|
||||||
var effectiveHex = normalized || getThemeTintHex();
|
var effectiveHex = normalized || getThemeTintHex();
|
||||||
var alphaByte = extractTintAlphaByte(effectiveHex);
|
var alphaByte = extractTintAlphaByte(effectiveHex);
|
||||||
tintPaletteState.currentBaseRgbHex = extractTintRgbHex(effectiveHex);
|
tintPaletteState.currentBaseRgbHex = extractTintRgbHex(effectiveHex);
|
||||||
@@ -1367,9 +1369,10 @@ FloatBallAppWM.prototype.buildButtonEditorPanelView = function() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function applyTintHexValue(hexValue, pushRecent) {
|
function applyTintHexValue(hexValue, pushRecent) {
|
||||||
|
currentShortXIconTint = String(hexValue || "");
|
||||||
try {
|
try {
|
||||||
tintPaletteState.syncing = true;
|
tintPaletteState.syncing = true;
|
||||||
inputShortXIconTint.input.setText(String(hexValue || ""));
|
inputShortXIconTint.input.setText(currentShortXIconTint);
|
||||||
} catch(eSetTint0) {}
|
} catch(eSetTint0) {}
|
||||||
tintPaletteState.syncing = false;
|
tintPaletteState.syncing = false;
|
||||||
syncTintUiFromInput(!!pushRecent);
|
syncTintUiFromInput(!!pushRecent);
|
||||||
@@ -1502,7 +1505,7 @@ FloatBallAppWM.prototype.buildButtonEditorPanelView = function() {
|
|||||||
|
|
||||||
var tintToggleBtn = self.ui.createFlatButton(self, "\u9009\u62e9\u989c\u8272", C.primary, function() {
|
var tintToggleBtn = self.ui.createFlatButton(self, "\u9009\u62e9\u989c\u8272", C.primary, function() {
|
||||||
self.touchActivity();
|
self.touchActivity();
|
||||||
var currentTint = (inputShortXIconTint && inputShortXIconTint.input) ? String(inputShortXIconTint.input.getText() || "") : "";
|
var currentTint = currentShortXIconTint || "";
|
||||||
self.showColorPickerPopup({
|
self.showColorPickerPopup({
|
||||||
currentColor: currentTint,
|
currentColor: currentTint,
|
||||||
currentIconName: currentShortXIconName,
|
currentIconName: currentShortXIconName,
|
||||||
@@ -3320,7 +3323,7 @@ shortcutWrap.addView(scBody);
|
|||||||
var sxIcon = self.normalizeShortXIconName(currentShortXIconName, false);
|
var sxIcon = self.normalizeShortXIconName(currentShortXIconName, false);
|
||||||
if (sxIcon) newBtn.iconResName = sxIcon; else delete newBtn.iconResName;
|
if (sxIcon) newBtn.iconResName = sxIcon; else delete newBtn.iconResName;
|
||||||
// # 保存 ShortX 图标颜色:优先使用 targetBtn.iconTint(颜色选择器已更新),回退到输入框
|
// # 保存 ShortX 图标颜色:优先使用 targetBtn.iconTint(颜色选择器已更新),回退到输入框
|
||||||
var sxTint = targetBtn.iconTint || "";
|
var sxTint = currentShortXIconTint || targetBtn.iconTint || "";
|
||||||
if (!sxTint) {
|
if (!sxTint) {
|
||||||
try { sxTint = inputShortXIconTint.getValue(); } catch(eGetTint) {}
|
try { sxTint = inputShortXIconTint.getValue(); } catch(eGetTint) {}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user