Show status text for the boards and themes setting

multisite
Floens 9 years ago
parent 4e1d61fbf4
commit f9fe6026d1
  1. 25
      Clover/app/src/main/java/org/floens/chan/ui/controller/MainSettingsController.java

@ -30,6 +30,8 @@ import android.widget.Toast;
import org.floens.chan.Chan;
import org.floens.chan.R;
import org.floens.chan.core.manager.BoardManager;
import org.floens.chan.core.model.Board;
import org.floens.chan.core.settings.ChanSettings;
import org.floens.chan.ui.activity.StartActivity;
import org.floens.chan.ui.helper.HintPopup;
@ -53,6 +55,7 @@ import java.util.List;
import de.greenrobot.event.EventBus;
import static org.floens.chan.ui.theme.ThemeHelper.theme;
import static org.floens.chan.utils.AndroidUtils.getString;
public class MainSettingsController extends SettingsController implements ToolbarMenuItem.ToolbarMenuItemCallback, WatchSettingsController.WatchSettingControllerListener, PassSettingsController.PassSettingControllerListener {
@ -60,6 +63,7 @@ public class MainSettingsController extends SettingsController implements Toolba
private ListSettingView<ChanSettings.MediaAutoLoadMode> imageAutoLoadView;
private ListSettingView<ChanSettings.MediaAutoLoadMode> videoAutoLoadView;
private LinkSettingView boardEditorView;
private LinkSettingView watchLink;
private LinkSettingView passLink;
private int clickCount;
@ -82,6 +86,8 @@ public class MainSettingsController extends SettingsController implements Toolba
public void onCreate() {
super.onCreate();
EventBus.getDefault().register(this);
navigationItem.setTitle(R.string.settings_screen);
navigationItem.menu = new ToolbarMenu(context);
overflow = navigationItem.createOverflow(context, this, Collections.singletonList(
@ -127,11 +133,17 @@ public class MainSettingsController extends SettingsController implements Toolba
public void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
if (previousLayoutMode != ChanSettings.layoutMode.get()) {
((StartActivity) context).restart();
}
}
public void onEvent(BoardManager.BoardsChangedMessage message) {
updateBoardLinkDescription();
}
@Override
public void onMenuItemClicked(ToolbarMenuItem item) {
}
@ -169,12 +181,14 @@ public class MainSettingsController extends SettingsController implements Toolba
private void populatePreferences() {
// General group
SettingsGroup general = new SettingsGroup(R.string.settings_group_general);
general.add(new LinkSettingView(this, R.string.settings_board_edit, 0, new View.OnClickListener() {
boardEditorView = new LinkSettingView(this, R.string.settings_board_edit, 0, new View.OnClickListener() {
@Override
public void onClick(View v) {
navigationController.pushController(new BoardEditController(context));
}
}));
});
general.add(boardEditorView);
updateBoardLinkDescription();
watchLink = (LinkSettingView) general.add(new LinkSettingView(this, R.string.settings_watch, 0, new View.OnClickListener() {
@Override
@ -187,7 +201,7 @@ public class MainSettingsController extends SettingsController implements Toolba
SettingsGroup appearance = new SettingsGroup(R.string.settings_group_appearance);
appearance.add(new LinkSettingView(this, R.string.settings_screen_theme, 0, new View.OnClickListener() {
appearance.add(new LinkSettingView(this, getString(R.string.settings_screen_theme), theme().displayName, new View.OnClickListener() {
@Override
public void onClick(View v) {
navigationController.pushController(new ThemeSettingsController(context));
@ -388,6 +402,11 @@ public class MainSettingsController extends SettingsController implements Toolba
groups.add(about);
}
private void updateBoardLinkDescription() {
List<Board> savedBoards = Chan.getBoardManager().getSavedBoards();
boardEditorView.setDescription(context.getResources().getQuantityString(R.plurals.board, savedBoards.size(), savedBoards.size()));
}
private void updateVideoLoadModes() {
ChanSettings.MediaAutoLoadMode currentImageLoadMode = ChanSettings.imageAutoLoadNetwork.get();
ChanSettings.MediaAutoLoadMode[] modes = ChanSettings.MediaAutoLoadMode.values();

Loading…
Cancel
Save