diff --git a/res/layout-land/actionbar_custom.xml b/res/layout-land/actionbar_custom.xml new file mode 100644 index 000000000..b4f653e90 --- /dev/null +++ b/res/layout-land/actionbar_custom.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/res/layout/actionbar_custom.xml b/res/layout/actionbar_custom.xml new file mode 100644 index 000000000..bd0c033c2 --- /dev/null +++ b/res/layout/actionbar_custom.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/com/fsck/k9/activity/MessageList.java b/src/com/fsck/k9/activity/MessageList.java index a3355d35b..9540076fa 100644 --- a/src/com/fsck/k9/activity/MessageList.java +++ b/src/com/fsck/k9/activity/MessageList.java @@ -34,19 +34,18 @@ import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.AdapterView; +import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemLongClickListener; import android.widget.BaseAdapter; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; -import android.widget.ImageButton; import android.widget.ListView; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; import com.actionbarsherlock.app.ActionBar; -import com.actionbarsherlock.app.ActionBar.OnNavigationListener; import com.actionbarsherlock.view.ActionMode; import com.actionbarsherlock.view.Menu; import com.actionbarsherlock.view.MenuInflater; @@ -60,7 +59,6 @@ import com.fsck.k9.K9; import com.fsck.k9.Preferences; import com.fsck.k9.R; import com.fsck.k9.SearchSpecification; -import com.fsck.k9.activity.misc.ActionBarNavigationSpinner; import com.fsck.k9.activity.misc.SwipeGestureDetector; import com.fsck.k9.activity.misc.SwipeGestureDetector.OnSwipeGestureListener; import com.fsck.k9.activity.setup.AccountSettings; @@ -84,8 +82,7 @@ import com.fsck.k9.mail.store.StorageManager; * shows a list of messages. * From this Activity the user can perform all standard message operations. */ -public class MessageList extends K9ListActivity implements - AdapterView.OnItemClickListener, OnNavigationListener, +public class MessageList extends K9ListActivity implements OnItemClickListener, OnSwipeGestureListener { /** @@ -304,7 +301,6 @@ public class MessageList extends K9ListActivity implements private FontSizes mFontSizes = K9.getFontSizes(); private MenuItem mRefreshMenuItem; - private ActionBarNavigationSpinner mNavigationSpinner; private ActionBar mActionBar; private ActionMode mActionMode; private View mActionBarProgressView; @@ -324,6 +320,10 @@ public class MessageList extends K9ListActivity implements private StorageManager.StorageListener mStorageListener = new StorageListenerImplementation(); + private TextView mActionBarTitle; + private TextView mActionBarSubTitle; + private TextView mActionBarUnread; + private final class StorageListenerImplementation implements StorageManager.StorageListener { @Override public void onUnmount(String providerId) { @@ -518,9 +518,15 @@ public class MessageList extends K9ListActivity implements String displayName = FolderInfoHolder.getDisplayName(MessageList.this, mAccount, mFolderName); - mNavigationSpinner.setTitle(displayName); - mNavigationSpinner.setSubTitle(mAccount.getEmail()); + mActionBarTitle.setText(displayName); + mActionBarSubTitle.setText(mAccount.getEmail()); + if (mUnreadMessageCount == 0) { + mActionBarUnread.setVisibility(View.GONE); + } else { + mActionBarUnread.setText(Integer.toString(mUnreadMessageCount)); + mActionBarUnread.setVisibility(View.VISIBLE); + } // query result display } else if (mQueryString != null) { if (mTitle != null) { @@ -902,10 +908,13 @@ public class MessageList extends K9ListActivity implements private void initializeActionBar() { if (mQueryString == null) { - mActionBar.setDisplayShowTitleEnabled(false); - mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); - mNavigationSpinner = ActionBarNavigationSpinner.getDefaultSpinner(this); - mActionBar.setListNavigationCallbacks(mNavigationSpinner, this); + mActionBar.setDisplayShowCustomEnabled(true); + mActionBar.setCustomView(R.layout.actionbar_custom); + + View customView = mActionBar.getCustomView(); + mActionBarTitle = (TextView) customView.findViewById(R.id.actionbar_title_first); + mActionBarSubTitle = (TextView) customView.findViewById(R.id.actionbar_title_sub); + mActionBarUnread = (TextView) customView.findViewById(R.id.actionbar_unread_count); } mActionBar.setDisplayHomeAsUpEnabled(true); @@ -2730,19 +2739,6 @@ public class MessageList extends K9ListActivity implements return account; } - @Override - public boolean onNavigationItemSelected(int itemPosition, long itemId) { - if (itemId == ActionBarNavigationSpinner.AB_NAVIGATION_FOLDERS) { - onShowFolderList(); - return true; - } else if (itemId == ActionBarNavigationSpinner.AB_NAVIGATION_ACCOUNTS) { - onAccounts(); - return true; - } - - return false; - } - private boolean handleContextRelatedClick(int position){ MessageInfoHolder holder = (MessageInfoHolder) mAdapter.getItem(position); if (mActionMode != null) {